MCPcopy Create free account
hub / github.com/share/sharedb / runCreateTests

Function runCreateTests

test/client/submit.js:265–358  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

263 });
264
265 function runCreateTests() {
266 it('can create a new doc then fetch', function(done) {
267 var doc = this.backend.connect().get('dogs', id);
268 doc.create({age: 3}, function(err) {
269 if (err) return done(err);
270 doc.fetch(function(err) {
271 if (err) return done(err);
272 expect(doc.data).eql({age: 3});
273 expect(doc.version).eql(1);
274 done();
275 });
276 });
277 });
278
279 it('calling create on the same doc twice fails', function(done) {
280 var doc = this.backend.connect().get('dogs', id);
281 doc.create({age: 3}, function(err) {
282 if (err) return done(err);
283 doc.create({age: 4}, function(err) {
284 expect(err).instanceOf(Error);
285 expect(doc.version).equal(1);
286 expect(doc.data).eql({age: 3});
287 done();
288 });
289 });
290 });
291
292 it('trying to create an already created doc without fetching fails and fetches', function(done) {
293 var doc = this.backend.connect().get('dogs', id);
294 var doc2 = this.backend.connect().get('dogs', id);
295 doc.create({age: 3}, function(err) {
296 if (err) return done(err);
297 doc2.create({age: 4}, function(err) {
298 expect(err).instanceOf(Error);
299 expect(doc2.version).equal(1);
300 expect(doc2.data).eql({age: 3});
301 done();
302 });
303 });
304 });
305
306 it('does not fail when resubmitting a create op', function(done) {
307 var backend = this.backend;
308 var connection = backend.connect();
309 var submitted = false;
310 backend.use('submit', function(request, next) {
311 if (!submitted) {
312 submitted = true;
313 connection.close();
314 backend.connect(connection);
315 }
316 next();
317 });
318
319 var count = 0;
320 backend.use('reply', function(message, next) {
321 next();
322 if (message.reply.a === 'op') count++;

Callers 1

submit.jsFile · 0.85

Calls 1

nextFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…