@mblaney/holster 0.3.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -85,6 +85,28 @@ describe("holster.user.put", () => {
85
85
  })
86
86
  })
87
87
 
88
+ test("put and get values in for loop", (t, done) => {
89
+ ;(async () => {
90
+ for (let i = 0; i < 5; i++) {
91
+ // Need to be careful putting user properties in a loop as they are
92
+ // verified per node, so wait for each update to return.
93
+ const err = await new Promise(res => {
94
+ user.get("for" + i).put(i, res)
95
+ })
96
+ assert.equal(err, null)
97
+ }
98
+ })()
99
+
100
+ setTimeout(async () => {
101
+ for (let i = 0; i < 5; i++) {
102
+ user.get("for" + i, data => {
103
+ assert.equal(data, i)
104
+ if (i === 4) setTimeout(done, 100)
105
+ })
106
+ }
107
+ }, 500)
108
+ })
109
+
88
110
  test("chained get before put", (t, done) => {
89
111
  user
90
112
  .get("hello")
@@ -291,28 +313,80 @@ describe("holster.user.put", () => {
291
313
  })
292
314
  })
293
315
 
294
- test("get number using public key - logged in", (t, done) => {
295
- let ok = false
316
+ test("put string with set", (t, done) => {
317
+ user.get("set").put("first", true, err => {
318
+ assert.equal(err, null)
296
319
 
297
- holster.user(alice).get("pi", data => {
298
- assert.equal(data, 3.14159)
299
- if (ok) done()
300
- else ok = true
320
+ setTimeout(() => {
321
+ user.get("set", data => {
322
+ assert.equal(Object.values(data)[0], "first")
323
+
324
+ user.get("set").put("second", true, err => {
325
+ assert.equal(err, null)
326
+
327
+ setTimeout(() => {
328
+ user.get("set", data => {
329
+ for (const value of Object.values(data)) {
330
+ assert.ok(value === "first" || value === "second")
331
+ }
332
+ done()
333
+ })
334
+ }, 2)
335
+ })
336
+ })
337
+ }, 2)
301
338
  })
339
+ })
302
340
 
303
- // Not reusing the existing user here resets the stored public key used
304
- // above, but that is ok because they use separate contexts.
305
- holster.user().get("pi", data => {
341
+ test("put object with set", (t, done) => {
342
+ const set1 = {
343
+ key: "value 1",
344
+ child: "child value 1",
345
+ }
346
+ const set2 = {
347
+ key: "value 2",
348
+ child: "child value 2",
349
+ }
350
+ user.get("set2").put(set1, true, err => {
351
+ assert.equal(err, null)
352
+
353
+ setTimeout(() => {
354
+ user.get("set2", data => {
355
+ assert.deepEqual(Object.values(data)[0], set1)
356
+
357
+ user.get("set2").put(set2, true, err => {
358
+ assert.equal(err, null)
359
+
360
+ setTimeout(() => {
361
+ user.get("set2", data => {
362
+ for (const value of Object.values(data)) {
363
+ if (value.key === "value 1") {
364
+ assert.deepEqual(value, set1)
365
+ }
366
+ if (value.key === "value 2") {
367
+ assert.deepEqual(value, set2)
368
+ }
369
+ }
370
+ done()
371
+ })
372
+ }, 100)
373
+ })
374
+ })
375
+ }, 100)
376
+ })
377
+ })
378
+
379
+ test("get number using public key - logged in", (t, done) => {
380
+ user.get([alice, "pi"], data => {
306
381
  assert.equal(data, 3.14159)
307
- if (ok) done()
308
- else ok = true
382
+ done()
309
383
  })
310
384
  })
311
385
 
312
386
  test("get number using public key - logged out", (t, done) => {
313
387
  user.leave()
314
388
 
315
- holster.user(alice).get("pi", data => {
389
+ user.get([alice, "pi"], data => {
316
390
  assert.equal(data, 3.14159)
317
391
  done()
318
392
  })
@@ -322,13 +396,10 @@ describe("holster.user.put", () => {
322
396
  const plain = {
323
397
  key: "hello plain value",
324
398
  }
325
- holster
326
- .user(alice)
327
- .get("hello")
328
- .next("plain", data => {
329
- assert.deepEqual(data, plain)
330
- done()
331
- })
399
+ user.get([alice, "hello"]).next("plain", data => {
400
+ assert.deepEqual(data, plain)
401
+ done()
402
+ })
332
403
  })
333
404
 
334
405
  test("get nested object using public key", (t, done) => {
@@ -338,23 +409,17 @@ describe("holster.user.put", () => {
338
409
  has: "child value",
339
410
  },
340
411
  }
341
- holster.user(alice).get("nested", data => {
412
+ user.get([alice, "nested"], data => {
342
413
  assert.deepEqual(data, nested)
343
414
 
344
- holster
345
- .user(alice)
346
- .get("nested")
347
- .next("key", data => {
348
- assert.equal(data, "nested value")
415
+ user.get([alice, "nested"]).next("key", data => {
416
+ assert.equal(data, "nested value")
349
417
 
350
- holster
351
- .user(alice)
352
- .get("nested")
353
- .next("child", data => {
354
- assert.deepEqual(data, {has: "child value"})
355
- done()
356
- })
418
+ user.get([alice, "nested"]).next("child", data => {
419
+ assert.deepEqual(data, {has: "child value"})
420
+ done()
357
421
  })
422
+ })
358
423
  })
359
424
  })
360
425
 
@@ -365,35 +430,32 @@ describe("holster.user.put", () => {
365
430
  has: "hello child value",
366
431
  },
367
432
  }
368
- holster
369
- .user(alice)
370
- .get("hello")
371
- .next("nested", data => {
372
- assert.deepEqual(data, nested)
373
-
374
- holster
375
- .user(alice)
376
- .get("hello")
377
- .next("nested")
378
- .next("key", data => {
379
- assert.equal(data, "hello nested value")
380
-
381
- holster
382
- .user(alice)
383
- .get("hello")
384
- .next("nested")
385
- .next("child", data => {
386
- assert.deepEqual(data, {has: "hello child value"})
387
- done()
388
- })
389
- })
390
- })
433
+ user.get([alice, "hello"]).next("nested", data => {
434
+ assert.deepEqual(data, nested)
435
+
436
+ user
437
+ .get([alice, "hello"])
438
+ .next("nested")
439
+ .next("key", data => {
440
+ assert.equal(data, "hello nested value")
441
+
442
+ user
443
+ .get([alice, "hello"])
444
+ .next("nested")
445
+ .next("child", data => {
446
+ assert.deepEqual(data, {has: "hello child value"})
447
+ done()
448
+ })
449
+ })
450
+ })
391
451
  })
392
452
 
393
453
  test("cleanup", (t, done) => {
394
- fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
395
- assert.equal(err, null)
396
- done()
397
- })
454
+ setTimeout(() => {
455
+ fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
456
+ assert.equal(err, null)
457
+ done()
458
+ })
459
+ }, 100)
398
460
  })
399
461
  })
package/test/wire.test.js CHANGED
@@ -109,8 +109,6 @@ describe("wire", () => {
109
109
  _: {
110
110
  "#": "not on disk",
111
111
  ">": {test: 1},
112
- p: undefined,
113
- s: undefined,
114
112
  },
115
113
  test: "property",
116
114
  },
@@ -138,8 +136,6 @@ describe("wire", () => {
138
136
  _: {
139
137
  "#": "key",
140
138
  ">": {value: 1},
141
- p: undefined,
142
- s: undefined,
143
139
  },
144
140
  value: "wire test",
145
141
  },
@@ -151,9 +147,12 @@ describe("wire", () => {
151
147
  })
152
148
 
153
149
  test("cleanup", (t, done) => {
154
- fs.rm("test/wire", {recursive: true, force: true}, err => {
155
- assert.equal(err, null)
156
- done()
157
- })
150
+ // Timeout to let extra wire sends finish before tests end.
151
+ setTimeout(() => {
152
+ fs.rm("test/wire", {recursive: true, force: true}, err => {
153
+ assert.equal(err, null)
154
+ done()
155
+ })
156
+ }, 100)
158
157
  })
159
158
  })