cojson 0.13.16 → 0.13.18

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.
Files changed (168) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/dist/PeerState.d.ts +3 -0
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +9 -0
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/SyncStateManager.d.ts.map +1 -1
  8. package/dist/SyncStateManager.js +2 -3
  9. package/dist/SyncStateManager.js.map +1 -1
  10. package/dist/coValue.d.ts +6 -4
  11. package/dist/coValue.d.ts.map +1 -1
  12. package/dist/coValue.js +5 -4
  13. package/dist/coValue.js.map +1 -1
  14. package/dist/coValueCore/coValueCore.d.ts +143 -0
  15. package/dist/coValueCore/coValueCore.d.ts.map +1 -0
  16. package/dist/{coValueCore.js → coValueCore/coValueCore.js} +314 -246
  17. package/dist/coValueCore/coValueCore.js.map +1 -0
  18. package/dist/coValueCore/verifiedState.d.ts +65 -0
  19. package/dist/coValueCore/verifiedState.d.ts.map +1 -0
  20. package/dist/coValueCore/verifiedState.js +210 -0
  21. package/dist/coValueCore/verifiedState.js.map +1 -0
  22. package/dist/coValues/account.d.ts +8 -10
  23. package/dist/coValues/account.d.ts.map +1 -1
  24. package/dist/coValues/account.js +12 -13
  25. package/dist/coValues/account.js.map +1 -1
  26. package/dist/coValues/coList.d.ts +10 -6
  27. package/dist/coValues/coList.d.ts.map +1 -1
  28. package/dist/coValues/coList.js +41 -15
  29. package/dist/coValues/coList.js.map +1 -1
  30. package/dist/coValues/coMap.d.ts +4 -3
  31. package/dist/coValues/coMap.d.ts.map +1 -1
  32. package/dist/coValues/coMap.js +5 -3
  33. package/dist/coValues/coMap.js.map +1 -1
  34. package/dist/coValues/coPlainText.d.ts +2 -2
  35. package/dist/coValues/coPlainText.d.ts.map +1 -1
  36. package/dist/coValues/coPlainText.js +5 -5
  37. package/dist/coValues/coPlainText.js.map +1 -1
  38. package/dist/coValues/coStream.d.ts +5 -4
  39. package/dist/coValues/coStream.d.ts.map +1 -1
  40. package/dist/coValues/coStream.js +5 -3
  41. package/dist/coValues/coStream.js.map +1 -1
  42. package/dist/coValues/group.d.ts +7 -2
  43. package/dist/coValues/group.d.ts.map +1 -1
  44. package/dist/coValues/group.js +29 -26
  45. package/dist/coValues/group.js.map +1 -1
  46. package/dist/coreToCoValue.d.ts +4 -3
  47. package/dist/coreToCoValue.d.ts.map +1 -1
  48. package/dist/coreToCoValue.js +10 -14
  49. package/dist/coreToCoValue.js.map +1 -1
  50. package/dist/exports.d.ts +6 -5
  51. package/dist/exports.d.ts.map +1 -1
  52. package/dist/exports.js +3 -4
  53. package/dist/exports.js.map +1 -1
  54. package/dist/localNode.d.ts +30 -24
  55. package/dist/localNode.d.ts.map +1 -1
  56. package/dist/localNode.js +153 -177
  57. package/dist/localNode.js.map +1 -1
  58. package/dist/permissions.d.ts +2 -1
  59. package/dist/permissions.d.ts.map +1 -1
  60. package/dist/permissions.js +15 -11
  61. package/dist/permissions.js.map +1 -1
  62. package/dist/priority.d.ts +1 -1
  63. package/dist/priority.d.ts.map +1 -1
  64. package/dist/sync.d.ts +2 -2
  65. package/dist/sync.d.ts.map +1 -1
  66. package/dist/sync.js +86 -55
  67. package/dist/sync.js.map +1 -1
  68. package/dist/tests/coList.test.js +133 -13
  69. package/dist/tests/coList.test.js.map +1 -1
  70. package/dist/tests/coMap.test.js +43 -14
  71. package/dist/tests/coMap.test.js.map +1 -1
  72. package/dist/tests/coPlainText.test.js +9 -10
  73. package/dist/tests/coPlainText.test.js.map +1 -1
  74. package/dist/tests/coStream.test.js +49 -18
  75. package/dist/tests/coStream.test.js.map +1 -1
  76. package/dist/tests/coValueCore.test.js +22 -28
  77. package/dist/tests/coValueCore.test.js.map +1 -1
  78. package/dist/tests/coValueCoreLoadingState.test.d.ts +2 -0
  79. package/dist/tests/coValueCoreLoadingState.test.d.ts.map +1 -0
  80. package/dist/tests/coValueCoreLoadingState.test.js +227 -0
  81. package/dist/tests/coValueCoreLoadingState.test.js.map +1 -0
  82. package/dist/tests/group.test.js +42 -43
  83. package/dist/tests/group.test.js.map +1 -1
  84. package/dist/tests/messagesTestUtils.d.ts +2 -2
  85. package/dist/tests/messagesTestUtils.d.ts.map +1 -1
  86. package/dist/tests/messagesTestUtils.js +1 -1
  87. package/dist/tests/messagesTestUtils.js.map +1 -1
  88. package/dist/tests/permissions.test.js +224 -292
  89. package/dist/tests/permissions.test.js.map +1 -1
  90. package/dist/tests/priority.test.js +13 -14
  91. package/dist/tests/priority.test.js.map +1 -1
  92. package/dist/tests/sync.auth.test.d.ts +2 -0
  93. package/dist/tests/sync.auth.test.d.ts.map +1 -0
  94. package/dist/tests/sync.auth.test.js +141 -0
  95. package/dist/tests/sync.auth.test.js.map +1 -0
  96. package/dist/tests/sync.load.test.js +60 -2
  97. package/dist/tests/sync.load.test.js.map +1 -1
  98. package/dist/tests/sync.mesh.test.js +70 -10
  99. package/dist/tests/sync.mesh.test.js.map +1 -1
  100. package/dist/tests/sync.peerReconciliation.test.js +19 -19
  101. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  102. package/dist/tests/sync.storage.test.js +20 -13
  103. package/dist/tests/sync.storage.test.js.map +1 -1
  104. package/dist/tests/sync.test.js +32 -39
  105. package/dist/tests/sync.test.js.map +1 -1
  106. package/dist/tests/sync.upload.test.js +126 -37
  107. package/dist/tests/sync.upload.test.js.map +1 -1
  108. package/dist/tests/testUtils.d.ts +24 -15
  109. package/dist/tests/testUtils.d.ts.map +1 -1
  110. package/dist/tests/testUtils.js +88 -61
  111. package/dist/tests/testUtils.js.map +1 -1
  112. package/dist/typeUtils/expectGroup.js +1 -1
  113. package/dist/typeUtils/expectGroup.js.map +1 -1
  114. package/package.json +1 -1
  115. package/src/PeerState.ts +11 -0
  116. package/src/SyncStateManager.ts +2 -3
  117. package/src/coValue.ts +14 -8
  118. package/src/{coValueCore.ts → coValueCore/coValueCore.ts} +470 -413
  119. package/src/coValueCore/verifiedState.ts +376 -0
  120. package/src/coValues/account.ts +20 -25
  121. package/src/coValues/coList.ts +63 -29
  122. package/src/coValues/coMap.ts +13 -6
  123. package/src/coValues/coPlainText.ts +10 -8
  124. package/src/coValues/coStream.ts +12 -7
  125. package/src/coValues/group.ts +50 -28
  126. package/src/coreToCoValue.ts +14 -15
  127. package/src/exports.ts +9 -7
  128. package/src/localNode.ts +248 -283
  129. package/src/permissions.ts +18 -12
  130. package/src/priority.ts +1 -1
  131. package/src/sync.ts +96 -63
  132. package/src/tests/coList.test.ts +200 -12
  133. package/src/tests/coMap.test.ts +65 -14
  134. package/src/tests/coPlainText.test.ts +12 -9
  135. package/src/tests/coStream.test.ts +80 -17
  136. package/src/tests/coValueCore.test.ts +30 -27
  137. package/src/tests/coValueCoreLoadingState.test.ts +337 -0
  138. package/src/tests/group.test.ts +44 -68
  139. package/src/tests/messagesTestUtils.ts +3 -8
  140. package/src/tests/permissions.test.ts +283 -449
  141. package/src/tests/priority.test.ts +17 -13
  142. package/src/tests/sync.auth.test.ts +188 -0
  143. package/src/tests/sync.load.test.ts +79 -2
  144. package/src/tests/sync.mesh.test.ts +89 -9
  145. package/src/tests/sync.peerReconciliation.test.ts +25 -25
  146. package/src/tests/sync.storage.test.ts +20 -13
  147. package/src/tests/sync.test.ts +43 -43
  148. package/src/tests/sync.upload.test.ts +157 -37
  149. package/src/tests/testUtils.ts +120 -74
  150. package/src/typeUtils/expectGroup.ts +1 -1
  151. package/dist/CoValuesStore.d.ts +0 -14
  152. package/dist/CoValuesStore.d.ts.map +0 -1
  153. package/dist/CoValuesStore.js +0 -32
  154. package/dist/CoValuesStore.js.map +0 -1
  155. package/dist/coValueCore.d.ts +0 -141
  156. package/dist/coValueCore.d.ts.map +0 -1
  157. package/dist/coValueCore.js.map +0 -1
  158. package/dist/coValueState.d.ts +0 -34
  159. package/dist/coValueState.d.ts.map +0 -1
  160. package/dist/coValueState.js +0 -228
  161. package/dist/coValueState.js.map +0 -1
  162. package/dist/tests/coValueState.test.d.ts +0 -2
  163. package/dist/tests/coValueState.test.d.ts.map +0 -1
  164. package/dist/tests/coValueState.test.js +0 -344
  165. package/dist/tests/coValueState.test.js.map +0 -1
  166. package/src/CoValuesStore.ts +0 -41
  167. package/src/coValueState.ts +0 -300
  168. package/src/tests/coValueState.test.ts +0 -525
@@ -1,11 +1,13 @@
1
- import { expect, test } from "vitest";
1
+ import { beforeEach, expect, test } from "vitest";
2
2
  import { expectList } from "../coValue.js";
3
3
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
4
- import { LocalNode } from "../localNode.js";
5
- import { randomAnonymousAccountAndSessionID } from "./testUtils.js";
4
+ import { loadCoValueOrFail, nodeWithRandomAgentAndSessionID, setupTestNode, waitFor, } from "./testUtils.js";
6
5
  const Crypto = await WasmCrypto.create();
6
+ beforeEach(async () => {
7
+ setupTestNode({ isSyncServer: true });
8
+ });
7
9
  test("Empty CoList works", () => {
8
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
10
+ const node = nodeWithRandomAgentAndSessionID();
9
11
  const coValue = node.createCoValue({
10
12
  type: "colist",
11
13
  ruleset: { type: "unsafeAllowAll" },
@@ -17,7 +19,7 @@ test("Empty CoList works", () => {
17
19
  expect(content.toJSON()).toEqual([]);
18
20
  });
19
21
  test("Can append, prepend, delete and replace items in CoList", () => {
20
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
22
+ const node = nodeWithRandomAgentAndSessionID();
21
23
  const coValue = node.createCoValue({
22
24
  type: "colist",
23
25
  ruleset: { type: "unsafeAllowAll" },
@@ -44,7 +46,7 @@ test("Can append, prepend, delete and replace items in CoList", () => {
44
46
  expect(content.toJSON()).toEqual(["hello", "beautiful", "hooray"]);
45
47
  });
46
48
  test("Push is equivalent to append after last item", () => {
47
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
49
+ const node = nodeWithRandomAgentAndSessionID();
48
50
  const coValue = node.createCoValue({
49
51
  type: "colist",
50
52
  ruleset: { type: "unsafeAllowAll" },
@@ -61,7 +63,7 @@ test("Push is equivalent to append after last item", () => {
61
63
  expect(content.toJSON()).toEqual(["hello", "world", "hooray"]);
62
64
  });
63
65
  test("appendItems add an array of items at the end of the list", () => {
64
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
66
+ const node = nodeWithRandomAgentAndSessionID();
65
67
  const coValue = node.createCoValue({
66
68
  type: "colist",
67
69
  ruleset: { type: "unsafeAllowAll" },
@@ -76,7 +78,7 @@ test("appendItems add an array of items at the end of the list", () => {
76
78
  expect(content.toJSON()).toEqual(["hello", "world", "hooray", "universe"]);
77
79
  });
78
80
  test("appendItems at index", () => {
79
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
81
+ const node = nodeWithRandomAgentAndSessionID();
80
82
  const coValue = node.createCoValue({
81
83
  type: "colist",
82
84
  ruleset: { type: "unsafeAllowAll" },
@@ -100,7 +102,7 @@ test("appendItems at index", () => {
100
102
  ]);
101
103
  });
102
104
  test("appendItems at index", () => {
103
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
105
+ const node = nodeWithRandomAgentAndSessionID();
104
106
  const coValue = node.createCoValue({
105
107
  type: "colist",
106
108
  ruleset: { type: "unsafeAllowAll" },
@@ -116,7 +118,7 @@ test("appendItems at index", () => {
116
118
  expect(content.toJSON()).toEqual(["first", "second", "third"]);
117
119
  });
118
120
  test("appendItems with negative index", () => {
119
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
121
+ const node = nodeWithRandomAgentAndSessionID();
120
122
  const coValue = node.createCoValue({
121
123
  type: "colist",
122
124
  ruleset: { type: "unsafeAllowAll" },
@@ -130,7 +132,7 @@ test("appendItems with negative index", () => {
130
132
  expect(content.toJSON()).toEqual(["hello", "world", "hooray", "universe"]);
131
133
  });
132
134
  test("Can push into empty list", () => {
133
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
135
+ const node = nodeWithRandomAgentAndSessionID();
134
136
  const coValue = node.createCoValue({
135
137
  type: "colist",
136
138
  ruleset: { type: "unsafeAllowAll" },
@@ -143,7 +145,7 @@ test("Can push into empty list", () => {
143
145
  expect(content.toJSON()).toEqual(["hello"]);
144
146
  });
145
147
  test("init the list correctly", () => {
146
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
148
+ const node = nodeWithRandomAgentAndSessionID();
147
149
  const group = node.createGroup();
148
150
  const content = group.createList(["hello", "world", "hooray", "universe"]);
149
151
  expect(content.type).toEqual("colist");
@@ -158,7 +160,7 @@ test("init the list correctly", () => {
158
160
  ]);
159
161
  });
160
162
  test("Items prepended to start appear with latest first", () => {
161
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
163
+ const node = nodeWithRandomAgentAndSessionID();
162
164
  const coValue = node.createCoValue({
163
165
  type: "colist",
164
166
  ruleset: { type: "unsafeAllowAll" },
@@ -171,4 +173,122 @@ test("Items prepended to start appear with latest first", () => {
171
173
  content.prepend("third", 0, "trusting");
172
174
  expect(content.toJSON()).toEqual(["third", "second", "first"]);
173
175
  });
176
+ test("mixing prepend and append", () => {
177
+ const node = nodeWithRandomAgentAndSessionID();
178
+ const coValue = node.createCoValue({
179
+ type: "colist",
180
+ ruleset: { type: "unsafeAllowAll" },
181
+ meta: null,
182
+ ...Crypto.createdNowUnique(),
183
+ });
184
+ const list = expectList(coValue.getCurrentContent());
185
+ list.append(2, undefined, "trusting");
186
+ list.prepend(1, undefined, "trusting");
187
+ list.append(3, undefined, "trusting");
188
+ expect(list.toJSON()).toEqual([1, 2, 3]);
189
+ });
190
+ test("Items appended to start", () => {
191
+ const node = nodeWithRandomAgentAndSessionID();
192
+ const coValue = node.createCoValue({
193
+ type: "colist",
194
+ ruleset: { type: "unsafeAllowAll" },
195
+ meta: null,
196
+ ...Crypto.createdNowUnique(),
197
+ });
198
+ const content = expectList(coValue.getCurrentContent());
199
+ content.append("first", 0, "trusting");
200
+ content.append("second", 0, "trusting");
201
+ content.append("third", 0, "trusting");
202
+ // This result is correct because "third" is appended after "first"
203
+ // Using the Array methods this would be the same as doing content.splice(1, 0, "third")
204
+ expect(content.toJSON()).toEqual(["first", "third", "second"]);
205
+ });
206
+ test("syncing appends with an older timestamp", async () => {
207
+ const client = setupTestNode({
208
+ connected: true,
209
+ });
210
+ const otherClient = setupTestNode({});
211
+ const otherClientConnection = otherClient.connectToSyncServer({
212
+ ourName: "otherClient",
213
+ });
214
+ const coValue = client.node.createCoValue({
215
+ type: "colist",
216
+ ruleset: { type: "unsafeAllowAll" },
217
+ meta: null,
218
+ ...Crypto.createdNowUnique(),
219
+ });
220
+ const list = expectList(coValue.getCurrentContent());
221
+ list.append(1, undefined, "trusting");
222
+ list.append(2, undefined, "trusting");
223
+ const listOnOtherClient = await loadCoValueOrFail(otherClient.node, list.id);
224
+ otherClientConnection.peerState.gracefulShutdown();
225
+ listOnOtherClient.append(3, undefined, "trusting");
226
+ await new Promise((resolve) => setTimeout(resolve, 50));
227
+ list.append(4, undefined, "trusting");
228
+ await new Promise((resolve) => setTimeout(resolve, 50));
229
+ listOnOtherClient.append(5, undefined, "trusting");
230
+ await new Promise((resolve) => setTimeout(resolve, 50));
231
+ list.append(6, undefined, "trusting");
232
+ otherClient.connectToSyncServer({
233
+ ourName: "otherClient",
234
+ });
235
+ await waitFor(() => {
236
+ expect(list.toJSON()).toEqual([1, 2, 4, 6, 3, 5]);
237
+ });
238
+ expect(listOnOtherClient.toJSON()).toEqual(list.toJSON());
239
+ });
240
+ test("syncing prepends with an older timestamp", async () => {
241
+ const client = setupTestNode({
242
+ connected: true,
243
+ });
244
+ const otherClient = setupTestNode({});
245
+ const otherClientConnection = otherClient.connectToSyncServer();
246
+ const coValue = client.node.createCoValue({
247
+ type: "colist",
248
+ ruleset: { type: "unsafeAllowAll" },
249
+ meta: null,
250
+ ...Crypto.createdNowUnique(),
251
+ });
252
+ const list = expectList(coValue.getCurrentContent());
253
+ list.prepend(1, undefined, "trusting");
254
+ list.prepend(2, undefined, "trusting");
255
+ const listOnOtherClient = await loadCoValueOrFail(otherClient.node, list.id);
256
+ otherClientConnection.peerState.gracefulShutdown();
257
+ listOnOtherClient.prepend(3, undefined, "trusting");
258
+ await new Promise((resolve) => setTimeout(resolve, 50));
259
+ list.prepend(4, undefined, "trusting");
260
+ await new Promise((resolve) => setTimeout(resolve, 50));
261
+ listOnOtherClient.prepend(5, undefined, "trusting");
262
+ await new Promise((resolve) => setTimeout(resolve, 50));
263
+ list.prepend(6, undefined, "trusting");
264
+ otherClient.connectToSyncServer();
265
+ await waitFor(() => {
266
+ expect(list.toJSON()).toEqual([6, 4, 5, 3, 2, 1]);
267
+ });
268
+ expect(listOnOtherClient.toJSON()).toEqual(list.toJSON());
269
+ });
270
+ test("totalValidTransactions should return the number of valid transactions processed", async () => {
271
+ const client = setupTestNode({
272
+ connected: true,
273
+ });
274
+ const otherClient = setupTestNode({});
275
+ const otherClientConnection = otherClient.connectToSyncServer();
276
+ const group = client.node.createGroup();
277
+ group.addMember("everyone", "reader");
278
+ const list = group.createList([1, 2]);
279
+ const listOnOtherClient = await loadCoValueOrFail(otherClient.node, list.id);
280
+ otherClientConnection.peerState.gracefulShutdown();
281
+ group.addMember("everyone", "writer");
282
+ await new Promise((resolve) => setTimeout(resolve, 50));
283
+ listOnOtherClient.append(3, undefined, "trusting");
284
+ expect(listOnOtherClient.toJSON()).toEqual([1, 2]);
285
+ expect(listOnOtherClient.totalValidTransactions).toEqual(1);
286
+ otherClient.connectToSyncServer();
287
+ await waitFor(() => {
288
+ expect(listOnOtherClient.core.getCurrentContent().toJSON()).toEqual([
289
+ 1, 2, 3,
290
+ ]);
291
+ });
292
+ expect(listOnOtherClient.core.getCurrentContent().totalValidTransactions).toEqual(2);
293
+ });
174
294
  //# sourceMappingURL=coList.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coList.test.js","sourceRoot":"","sources":["../../src/tests/coList.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { expect, test } from "vitest";
1
+ import { beforeEach, expect, test } from "vitest";
2
2
  import { expectMap } from "../coValue.js";
3
3
  import { operationToEditEntry } from "../coValues/coMap.js";
4
4
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
5
- import { LocalNode } from "../localNode.js";
6
5
  import { accountOrAgentIDfromSessionID } from "../typeUtils/accountOrAgentIDfromSessionID.js";
7
- import { hotSleep, randomAnonymousAccountAndSessionID } from "./testUtils.js";
6
+ import { hotSleep, loadCoValueOrFail, nodeWithRandomAgentAndSessionID, setupTestNode, waitFor, } from "./testUtils.js";
8
7
  const Crypto = await WasmCrypto.create();
8
+ beforeEach(async () => {
9
+ setupTestNode({ isSyncServer: true });
10
+ });
9
11
  test("Empty CoMap works", () => {
10
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
12
+ const node = nodeWithRandomAgentAndSessionID();
11
13
  const coValue = node.createCoValue({
12
14
  type: "comap",
13
15
  ruleset: { type: "unsafeAllowAll" },
@@ -20,7 +22,7 @@ test("Empty CoMap works", () => {
20
22
  expect(content.toJSON()).toEqual({});
21
23
  });
22
24
  test("Can insert and delete CoMap entries in edit()", () => {
23
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
25
+ const node = nodeWithRandomAgentAndSessionID();
24
26
  const coValue = node.createCoValue({
25
27
  type: "comap",
26
28
  ruleset: { type: "unsafeAllowAll" },
@@ -39,7 +41,7 @@ test("Can insert and delete CoMap entries in edit()", () => {
39
41
  expect(content.keys()).toEqual(["hello"]);
40
42
  });
41
43
  test("Can get CoMap entry values at different points in time", () => {
42
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
44
+ const node = nodeWithRandomAgentAndSessionID();
43
45
  const coValue = node.createCoValue({
44
46
  type: "comap",
45
47
  ruleset: { type: "unsafeAllowAll" },
@@ -75,7 +77,7 @@ test("Can get CoMap entry values at different points in time", () => {
75
77
  });
76
78
  });
77
79
  test("Can get all historic values of key in CoMap", () => {
78
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
80
+ const node = nodeWithRandomAgentAndSessionID();
79
81
  const coValue = node.createCoValue({
80
82
  type: "comap",
81
83
  ruleset: { type: "unsafeAllowAll" },
@@ -95,32 +97,32 @@ test("Can get all historic values of key in CoMap", () => {
95
97
  expect([...content.editsAt("hello")]).toEqual([
96
98
  {
97
99
  tx: editA.tx,
98
- by: node.account.id,
100
+ by: node.getCurrentAgent().id,
99
101
  value: "A",
100
102
  at: editA?.at,
101
103
  },
102
104
  {
103
105
  tx: editB.tx,
104
- by: node.account.id,
106
+ by: node.getCurrentAgent().id,
105
107
  value: "B",
106
108
  at: editB?.at,
107
109
  },
108
110
  {
109
111
  tx: editDel.tx,
110
- by: node.account.id,
112
+ by: node.getCurrentAgent().id,
111
113
  value: undefined,
112
114
  at: editDel?.at,
113
115
  },
114
116
  {
115
117
  tx: editC.tx,
116
- by: node.account.id,
118
+ by: node.getCurrentAgent().id,
117
119
  value: "C",
118
120
  at: editC?.at,
119
121
  },
120
122
  ]);
121
123
  });
122
124
  test("Can get last tx ID for a key in CoMap", () => {
123
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
125
+ const node = nodeWithRandomAgentAndSessionID();
124
126
  const coValue = node.createCoValue({
125
127
  type: "comap",
126
128
  ruleset: { type: "unsafeAllowAll" },
@@ -132,7 +134,7 @@ test("Can get last tx ID for a key in CoMap", () => {
132
134
  expect(content.lastEditAt("hello")).toEqual(undefined);
133
135
  content.set("hello", "A", "trusting");
134
136
  const sessionID = content.lastEditAt("hello")?.tx.sessionID;
135
- expect(sessionID && accountOrAgentIDfromSessionID(sessionID)).toEqual(node.account.id);
137
+ expect(sessionID && accountOrAgentIDfromSessionID(sessionID)).toEqual(node.getCurrentAgent().id);
136
138
  expect(content.lastEditAt("hello")?.tx.txIndex).toEqual(0);
137
139
  content.set("hello", "B", "trusting");
138
140
  expect(content.lastEditAt("hello")?.tx.txIndex).toEqual(1);
@@ -140,7 +142,7 @@ test("Can get last tx ID for a key in CoMap", () => {
140
142
  expect(content.lastEditAt("hello")?.tx.txIndex).toEqual(2);
141
143
  });
142
144
  test("Can set items in bulk with assign", () => {
143
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
145
+ const node = nodeWithRandomAgentAndSessionID();
144
146
  const coValue = node.createCoValue({
145
147
  type: "comap",
146
148
  ruleset: { type: "unsafeAllowAll" },
@@ -161,4 +163,31 @@ test("Can set items in bulk with assign", () => {
161
163
  key3: "assign3",
162
164
  });
163
165
  });
166
+ test("totalValidTransactions should return the number of valid transactions processed", async () => {
167
+ const client = setupTestNode({
168
+ connected: true,
169
+ });
170
+ const otherClient = setupTestNode({});
171
+ const otherClientConnection = otherClient.connectToSyncServer();
172
+ const group = client.node.createGroup();
173
+ group.addMember("everyone", "reader");
174
+ const map = group.createMap({ fromClient: true });
175
+ const mapOnOtherClient = await loadCoValueOrFail(otherClient.node, map.id);
176
+ otherClientConnection.peerState.gracefulShutdown();
177
+ group.addMember("everyone", "writer");
178
+ await new Promise((resolve) => setTimeout(resolve, 50));
179
+ mapOnOtherClient.set("fromOtherClient", true, "trusting");
180
+ expect(mapOnOtherClient.totalValidTransactions).toEqual(1);
181
+ expect(mapOnOtherClient.toJSON()).toEqual({
182
+ fromClient: true,
183
+ });
184
+ otherClient.connectToSyncServer();
185
+ await waitFor(() => {
186
+ expect(mapOnOtherClient.core.getCurrentContent().toJSON()).toEqual({
187
+ fromClient: true,
188
+ fromOtherClient: true,
189
+ });
190
+ });
191
+ expect(mapOnOtherClient.core.getCurrentContent().totalValidTransactions).toEqual(2);
192
+ });
164
193
  //# sourceMappingURL=coMap.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coMap.test.js","sourceRoot":"","sources":["../../src/tests/coMap.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,kCAAkC,EAAE,MAAM,gBAAgB,CAAC;AAE9E,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;AAEzC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;IACzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;IAClE,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE1D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;IAElC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CACzD,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAC9B,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAC3D,oBAAoB,CAAC,GAAI,CAAC,CAAC,CAAE,CAAC,CAC/B,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5D,oBAAoB,CAAC,GAAI,CAAC,CAAC,CAAE,CAAC;QAC9B,oBAAoB,CAAC,GAAI,CAAC,CAAC,CAAE,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;QACjD,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC;QACjD,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C;YACE,EAAE,EAAE,KAAM,CAAC,EAAE;YACb,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,EAAE,EAAE,KAAK,EAAE,EAAE;SACd;QACD;YACE,EAAE,EAAE,KAAM,CAAC,EAAE;YACb,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,EAAE,EAAE,KAAK,EAAE,EAAE;SACd;QACD;YACE,EAAE,EAAE,OAAQ,CAAC,EAAE;YACf,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,OAAO,EAAE,EAAE;SAChB;QACD;YACE,EAAE,EAAE,KAAM,CAAC,EAAE;YACb,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,KAAK,EAAE,GAAG;YACV,EAAE,EAAE,KAAK,EAAE,EAAE;SACd;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;IAC5D,MAAM,CAAC,SAAS,IAAI,6BAA6B,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CACnE,IAAI,CAAC,OAAO,CAAC,EAAE,CAChB,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC7C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,kCAAkC,EAAE,EAAE,MAAM,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;QACnC,IAAI,EAAE,IAAI;QACV,GAAG,MAAM,CAAC,gBAAgB,EAAE;KAC7B,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAEvD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAExC,OAAO,CAAC,MAAM,CACZ;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAChB,EACD,UAAU,CACX,CAAC;IAEF,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;QAC/B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"coMap.test.js","sourceRoot":"","sources":["../../src/tests/coMap.test.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,19 @@
1
1
  import { afterEach, expect, test, vi } from "vitest";
2
2
  import { expectPlainText } from "../coValue.js";
3
3
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
4
- import { LocalNode } from "../localNode.js";
5
- import { randomAnonymousAccountAndSessionID } from "./testUtils.js";
4
+ import { nodeWithRandomAgentAndSessionID, } from "./testUtils.js";
6
5
  const Crypto = await WasmCrypto.create();
7
6
  afterEach(() => void vi.unstubAllGlobals());
8
7
  test("should throw on creation if Intl.Segmenter is not available", () => {
9
8
  vi.stubGlobal("Intl", {
10
9
  Segmenter: undefined,
11
10
  });
12
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
11
+ const node = nodeWithRandomAgentAndSessionID();
13
12
  const group = node.createGroup();
14
13
  expect(() => group.createPlainText()).toThrow("Intl.Segmenter is not supported. Use a polyfill to get coPlainText support in Jazz. (eg. https://formatjs.github.io/docs/polyfills/intl-segmenter/)");
15
14
  });
16
15
  test("Empty CoPlainText works", () => {
17
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
16
+ const node = nodeWithRandomAgentAndSessionID();
18
17
  const coValue = node.createCoValue({
19
18
  type: "coplaintext",
20
19
  ruleset: { type: "unsafeAllowAll" },
@@ -26,7 +25,7 @@ test("Empty CoPlainText works", () => {
26
25
  expect(content.toString()).toEqual("");
27
26
  });
28
27
  test("Can insert into empty CoPlainText", () => {
29
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
28
+ const node = nodeWithRandomAgentAndSessionID();
30
29
  const coValue = node.createCoValue({
31
30
  type: "coplaintext",
32
31
  ruleset: { type: "unsafeAllowAll" },
@@ -39,7 +38,7 @@ test("Can insert into empty CoPlainText", () => {
39
38
  expect(content.toString()).toEqual("a");
40
39
  });
41
40
  test("Can insert and delete in CoPlainText", () => {
42
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
41
+ const node = nodeWithRandomAgentAndSessionID();
43
42
  const coValue = node.createCoValue({
44
43
  type: "coplaintext",
45
44
  ruleset: { type: "unsafeAllowAll" },
@@ -62,7 +61,7 @@ test("Can insert and delete in CoPlainText", () => {
62
61
  expect(content.toString()).toEqual("Hello, world");
63
62
  });
64
63
  test("Multiple items inserted appear in correct order", () => {
65
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
64
+ const node = nodeWithRandomAgentAndSessionID();
66
65
  const coValue = node.createCoValue({
67
66
  type: "coplaintext",
68
67
  ruleset: { type: "unsafeAllowAll" },
@@ -78,7 +77,7 @@ test("Multiple items inserted appear in correct order", () => {
78
77
  expect(content.toString()).toEqual("hey");
79
78
  });
80
79
  test("Items inserted at start appear with latest first", () => {
81
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
80
+ const node = nodeWithRandomAgentAndSessionID();
82
81
  const coValue = node.createCoValue({
83
82
  type: "coplaintext",
84
83
  ruleset: { type: "unsafeAllowAll" },
@@ -95,7 +94,7 @@ test("Items inserted at start appear with latest first", () => {
95
94
  expect(content.toString()).toEqual("thirdsecondfirst");
96
95
  });
97
96
  test("Handles different locales correctly", () => {
98
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
97
+ const node = nodeWithRandomAgentAndSessionID();
99
98
  // Test with explicit locale in meta
100
99
  const coValueJa = node.createCoValue({
101
100
  type: "coplaintext",
@@ -130,7 +129,7 @@ test("Handles different locales correctly", () => {
130
129
  expect(contentFallback.toString()).toEqual("hello");
131
130
  });
132
131
  test("insertBefore and insertAfter work as expected", () => {
133
- const node = new LocalNode(...randomAnonymousAccountAndSessionID(), Crypto);
132
+ const node = nodeWithRandomAgentAndSessionID();
134
133
  const coValue = node.createCoValue({
135
134
  type: "coplaintext",
136
135
  ruleset: { type: "unsafeAllowAll" },
@@ -1 +1 @@
1
- {"version":3,"file":"coPlainText.test.js","sourceRoot":"","sources":["../../src/tests/coPlainText.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coPlainText.test.js","sourceRoot":"","sources":["../../src/tests/coPlainText.test.ts"],"names":[],"mappings":"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"}