document-model 4.1.0-dev.9 → 4.1.0-staging.1
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.
- package/dist/index.d.ts +8 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/dist/src/document/actions/creators.d.ts +2 -2
- package/dist/src/document/actions/creators.d.ts.map +1 -1
- package/dist/src/document/actions/creators.js +1 -1
- package/dist/src/document/actions/creators.js.map +1 -1
- package/dist/src/document/actions/operations.d.ts +5 -5
- package/dist/src/document/actions/operations.d.ts.map +1 -1
- package/dist/src/document/actions/operations.js +11 -9
- package/dist/src/document/actions/operations.js.map +1 -1
- package/dist/src/document/object.d.ts +3 -3
- package/dist/src/document/object.d.ts.map +1 -1
- package/dist/src/document/object.js +1 -1
- package/dist/src/document/object.js.map +1 -1
- package/dist/src/document/ph-factories.d.ts +34 -3
- package/dist/src/document/ph-factories.d.ts.map +1 -1
- package/dist/src/document/ph-factories.js +64 -33
- package/dist/src/document/ph-factories.js.map +1 -1
- package/dist/src/document/ph-types.d.ts +10 -2
- package/dist/src/document/ph-types.d.ts.map +1 -1
- package/dist/src/document/reducer.d.ts +4 -4
- package/dist/src/document/reducer.d.ts.map +1 -1
- package/dist/src/document/reducer.js +27 -29
- package/dist/src/document/reducer.js.map +1 -1
- package/dist/src/document/schema/types.d.ts +13 -1
- package/dist/src/document/schema/types.d.ts.map +1 -1
- package/dist/src/document/schema/zod.d.ts +31 -2
- package/dist/src/document/schema/zod.d.ts.map +1 -1
- package/dist/src/document/schema/zod.js +23 -11
- package/dist/src/document/schema/zod.js.map +1 -1
- package/dist/src/document/types.d.ts +58 -62
- package/dist/src/document/types.d.ts.map +1 -1
- package/dist/src/document/utils/base.d.ts +5 -6
- package/dist/src/document/utils/base.d.ts.map +1 -1
- package/dist/src/document/utils/base.js +31 -30
- package/dist/src/document/utils/base.js.map +1 -1
- package/dist/src/document/utils/crypto.d.ts +5 -5
- package/dist/src/document/utils/crypto.d.ts.map +1 -1
- package/dist/src/document/utils/crypto.js +25 -15
- package/dist/src/document/utils/crypto.js.map +1 -1
- package/dist/src/document/utils/document-helpers.d.ts +9 -14
- package/dist/src/document/utils/document-helpers.d.ts.map +1 -1
- package/dist/src/document/utils/document-helpers.js +47 -17
- package/dist/src/document/utils/document-helpers.js.map +1 -1
- package/dist/src/document/utils/file.d.ts.map +1 -1
- package/dist/src/document/utils/file.js.map +1 -1
- package/dist/src/document/utils/header.js.map +1 -1
- package/dist/src/document/utils/validation.js +1 -1
- package/dist/src/document/utils/validation.js.map +1 -1
- package/dist/src/document-model/gen/object.d.ts +2 -2
- package/dist/src/document-model/gen/object.d.ts.map +1 -1
- package/dist/src/document-model/gen/object.js.map +1 -1
- package/dist/src/document-model/gen/schema/zod.d.ts +6 -6
- package/dist/src/document-model/gen/schema/zod.d.ts.map +1 -1
- package/dist/src/document-model/gen/types.d.ts +2 -2
- package/dist/src/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.d.ts +1 -2
- package/dist/src/document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/document-model/gen/utils.js +6 -8
- package/dist/src/document-model/gen/utils.js.map +1 -1
- package/dist/test/document/crypto.test.js +25 -48
- package/dist/test/document/crypto.test.js.map +1 -1
- package/dist/test/document/event-vs-command.test.js +80 -50
- package/dist/test/document/event-vs-command.test.js.map +1 -1
- package/dist/test/document/local.test.js +26 -43
- package/dist/test/document/local.test.js.map +1 -1
- package/dist/test/document/operation-id.test.js +4 -6
- package/dist/test/document/operation-id.test.js.map +1 -1
- package/dist/test/document/prune.test.js +21 -34
- package/dist/test/document/prune.test.js.map +1 -1
- package/dist/test/document/reducer.test.js +99 -76
- package/dist/test/document/reducer.test.js.map +1 -1
- package/dist/test/document/skip-operations.test.js +65 -85
- package/dist/test/document/skip-operations.test.js.map +1 -1
- package/dist/test/document/undo-redo.test.js +60 -34
- package/dist/test/document/undo-redo.test.js.map +1 -1
- package/dist/test/document/utils.test.js +49 -36
- package/dist/test/document/utils.test.js.map +1 -1
- package/dist/test/document-helpers/addUndo.test.js +1 -1
- package/dist/test/document-helpers/addUndo.test.js.map +1 -1
- package/dist/test/document-helpers/attachBranch.test.js +20 -20
- package/dist/test/document-helpers/attachBranch.test.js.map +1 -1
- package/dist/test/document-helpers/conflictResolution.test.js +10 -10
- package/dist/test/document-helpers/conflictResolution.test.js.map +1 -1
- package/dist/test/document-helpers/groupOperationsByScope.test.js +70 -70
- package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -1
- package/dist/test/document-helpers/merge.test.js +125 -125
- package/dist/test/document-helpers/merge.test.js.map +1 -1
- package/dist/test/document-helpers/removeExistingOperations.test.js +37 -24
- package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js +15 -15
- package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -1
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +21 -21
- package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -1
- package/dist/test/document-helpers/skipHeaderOperations.test.js +33 -40
- package/dist/test/document-helpers/skipHeaderOperations.test.js.map +1 -1
- package/dist/test/document-helpers/split.test.js +2 -2
- package/dist/test/document-helpers/split.test.js.map +1 -1
- package/dist/test/document-helpers/utils.d.ts +1 -0
- package/dist/test/document-helpers/utils.d.ts.map +1 -1
- package/dist/test/document-helpers/utils.js +13 -8
- package/dist/test/document-helpers/utils.js.map +1 -1
- package/dist/test/document-model/replay.test.js +3 -20
- package/dist/test/document-model/replay.test.js.map +1 -1
- package/dist/test/document-model/skip-operations.test.js +4 -5
- package/dist/test/document-model/skip-operations.test.js.map +1 -1
- package/dist/test/document-model/validation.test.js.map +1 -1
- package/dist/test/document-model/zip.test.js +1 -1
- package/dist/test/document-model/zip.test.js.map +1 -1
- package/dist/test/helpers.d.ts +25 -2
- package/dist/test/helpers.d.ts.map +1 -1
- package/dist/test/helpers.js +55 -6
- package/dist/test/helpers.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -2
|
@@ -2,49 +2,49 @@ import { beforeAll, describe, expect, it, vi } from "vitest";
|
|
|
2
2
|
import { generateId } from "../../index.js";
|
|
3
3
|
import { setName } from "../../src/document/actions/creators.js";
|
|
4
4
|
import { SET_NAME } from "../../src/document/actions/types.js";
|
|
5
|
-
import { baseCreateDocument,
|
|
6
|
-
import { countReducer, error, increment, wrappedEmptyReducer, } from "../helpers.js";
|
|
5
|
+
import { baseCreateDocument, createAction, createReducer, } from "../../src/document/utils/base.js";
|
|
6
|
+
import { countReducer, createBaseState, createCountDocumentState, defaultPHDocumentCreateState, error, fakeAction, increment, wrappedEmptyReducer, } from "../helpers.js";
|
|
7
7
|
describe("Base reducer", () => {
|
|
8
8
|
beforeAll(() => {
|
|
9
9
|
vi.useFakeTimers().setSystemTime(new Date("2020-01-01"));
|
|
10
10
|
});
|
|
11
11
|
it("should update revision", async () => {
|
|
12
|
-
const document = baseCreateDocument();
|
|
13
|
-
const newDocument = wrappedEmptyReducer(document, {
|
|
12
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
13
|
+
const newDocument = wrappedEmptyReducer(document, fakeAction({
|
|
14
14
|
type: "TEST",
|
|
15
15
|
input: {},
|
|
16
16
|
scope: "global",
|
|
17
|
-
});
|
|
17
|
+
}));
|
|
18
18
|
expect(newDocument.header.revision.global).toBe(1);
|
|
19
19
|
});
|
|
20
20
|
it("should update lastModified", async () => {
|
|
21
21
|
vi.useFakeTimers();
|
|
22
|
-
const document = baseCreateDocument();
|
|
22
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
23
23
|
await new Promise((r) => {
|
|
24
24
|
setTimeout(r, 100);
|
|
25
25
|
vi.runOnlyPendingTimers();
|
|
26
26
|
});
|
|
27
|
-
const newDocument = wrappedEmptyReducer(document, {
|
|
27
|
+
const newDocument = wrappedEmptyReducer(document, fakeAction({
|
|
28
28
|
type: "TEST",
|
|
29
29
|
input: {},
|
|
30
30
|
scope: "global",
|
|
31
|
-
});
|
|
31
|
+
}));
|
|
32
32
|
expect(newDocument.header.lastModifiedAtUtcIso >
|
|
33
33
|
document.header.lastModifiedAtUtcIso).toBe(true);
|
|
34
34
|
vi.useRealTimers();
|
|
35
35
|
});
|
|
36
36
|
it("should update global operations list", async () => {
|
|
37
37
|
vi.useFakeTimers({ now: new Date("2023-01-01") });
|
|
38
|
-
const document = baseCreateDocument();
|
|
39
|
-
const newDocument = wrappedEmptyReducer(document, {
|
|
38
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
39
|
+
const newDocument = wrappedEmptyReducer(document, fakeAction({
|
|
40
40
|
type: "TEST",
|
|
41
41
|
input: {},
|
|
42
42
|
scope: "global",
|
|
43
|
-
});
|
|
43
|
+
}));
|
|
44
44
|
expect(newDocument.operations.global).toMatchObject([
|
|
45
45
|
{
|
|
46
46
|
type: "TEST",
|
|
47
|
-
|
|
47
|
+
timestampUtcMs: new Date().toISOString(),
|
|
48
48
|
index: 0,
|
|
49
49
|
skip: 0,
|
|
50
50
|
input: {},
|
|
@@ -64,6 +64,8 @@ describe("Base reducer", () => {
|
|
|
64
64
|
it("should create SET_NAME action", () => {
|
|
65
65
|
const setNameAction = setName("Document");
|
|
66
66
|
expect(setNameAction).toStrictEqual({
|
|
67
|
+
id: setNameAction.id,
|
|
68
|
+
timestampUtcMs: setNameAction.timestampUtcMs,
|
|
67
69
|
type: SET_NAME,
|
|
68
70
|
input: "Document",
|
|
69
71
|
scope: "global",
|
|
@@ -73,21 +75,21 @@ describe("Base reducer", () => {
|
|
|
73
75
|
expect(() => setName(1)).toThrow();
|
|
74
76
|
});
|
|
75
77
|
it("should set document name", async () => {
|
|
76
|
-
const document = baseCreateDocument();
|
|
78
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
77
79
|
const newDocument = wrappedEmptyReducer(document, setName("Document"));
|
|
78
80
|
expect(newDocument.header.name).toBe("Document");
|
|
79
81
|
});
|
|
80
82
|
it("should throw error on invalid base action", async () => {
|
|
81
|
-
const document = baseCreateDocument();
|
|
82
|
-
expect(() => wrappedEmptyReducer(document, {
|
|
83
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
84
|
+
expect(() => wrappedEmptyReducer(document, fakeAction({
|
|
83
85
|
type: "SET_NAME",
|
|
84
86
|
input: 0,
|
|
85
87
|
scope: "global",
|
|
86
|
-
})).toThrow();
|
|
88
|
+
}))).toThrow();
|
|
87
89
|
});
|
|
88
90
|
it("should dispatch trigger action", async () => {
|
|
89
91
|
expect.assertions(3);
|
|
90
|
-
const document = baseCreateDocument();
|
|
92
|
+
const document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
91
93
|
const id = generateId();
|
|
92
94
|
const reducer = createReducer((_state, action, dispatch) => {
|
|
93
95
|
if (action.type === "CREATE_DOCUMENT") {
|
|
@@ -101,11 +103,11 @@ describe("Base reducer", () => {
|
|
|
101
103
|
}
|
|
102
104
|
return _state;
|
|
103
105
|
});
|
|
104
|
-
const triggerAction = {
|
|
106
|
+
const triggerAction = fakeAction({
|
|
105
107
|
type: "CREATE_DOCUMENT",
|
|
106
108
|
input: "",
|
|
107
109
|
scope: "global",
|
|
108
|
-
};
|
|
110
|
+
});
|
|
109
111
|
reducer(document, triggerAction, (action) => {
|
|
110
112
|
expect(action.type).toBe("CREATE_CHILD_DOCUMENT");
|
|
111
113
|
const input = action.input;
|
|
@@ -115,86 +117,113 @@ describe("Base reducer", () => {
|
|
|
115
117
|
});
|
|
116
118
|
});
|
|
117
119
|
it("should throw an error when there is a missing index operation", () => {
|
|
118
|
-
let document = baseCreateDocument();
|
|
119
|
-
document = wrappedEmptyReducer(document, {
|
|
120
|
+
let document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
121
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
120
122
|
type: "TEST_0",
|
|
121
123
|
input: {},
|
|
122
124
|
scope: "global",
|
|
123
|
-
});
|
|
124
|
-
document = wrappedEmptyReducer(document, {
|
|
125
|
+
}));
|
|
126
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
125
127
|
type: "TEST_1",
|
|
126
128
|
input: {},
|
|
127
129
|
scope: "global",
|
|
130
|
+
}));
|
|
131
|
+
const action = fakeAction({
|
|
132
|
+
type: "TEST_2",
|
|
133
|
+
input: {},
|
|
134
|
+
scope: "global",
|
|
135
|
+
index: 3,
|
|
128
136
|
});
|
|
129
137
|
expect(() => {
|
|
130
|
-
wrappedEmptyReducer(document, {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
wrappedEmptyReducer(document, action, undefined, {
|
|
139
|
+
replayOptions: {
|
|
140
|
+
operation: {
|
|
141
|
+
action,
|
|
142
|
+
hash: "",
|
|
143
|
+
timestampUtcMs: action.timestampUtcMs,
|
|
144
|
+
index: 3,
|
|
145
|
+
skip: 0,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
135
148
|
});
|
|
136
149
|
}).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 3 with skip 0");
|
|
137
150
|
});
|
|
138
151
|
it("should throw an error when there is a missing index operation + skip", () => {
|
|
139
|
-
let document = baseCreateDocument();
|
|
140
|
-
document = wrappedEmptyReducer(document, {
|
|
152
|
+
let document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
153
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
141
154
|
type: "TEST_0",
|
|
142
155
|
input: {},
|
|
143
156
|
scope: "global",
|
|
144
|
-
});
|
|
145
|
-
document = wrappedEmptyReducer(document, {
|
|
157
|
+
}));
|
|
158
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
146
159
|
type: "TEST_1",
|
|
147
160
|
input: {},
|
|
148
161
|
scope: "global",
|
|
162
|
+
}));
|
|
163
|
+
const action = fakeAction({
|
|
164
|
+
type: "TEST_2",
|
|
165
|
+
input: {},
|
|
166
|
+
scope: "global",
|
|
167
|
+
index: 4,
|
|
149
168
|
});
|
|
150
169
|
expect(() => {
|
|
151
|
-
wrappedEmptyReducer(document, {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
170
|
+
wrappedEmptyReducer(document, action, undefined, {
|
|
171
|
+
skip: 1,
|
|
172
|
+
replayOptions: {
|
|
173
|
+
operation: {
|
|
174
|
+
action,
|
|
175
|
+
hash: "",
|
|
176
|
+
timestampUtcMs: action.timestampUtcMs,
|
|
177
|
+
index: 4,
|
|
178
|
+
skip: 1,
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
});
|
|
157
182
|
}).toThrow("Missing operations: expected 2 with skip 0 or equivalent, got index 4 with skip 1");
|
|
158
183
|
});
|
|
159
184
|
it("should not throw an error when there is a valid index operation + skip", () => {
|
|
160
|
-
let document = baseCreateDocument();
|
|
161
|
-
document = wrappedEmptyReducer(document, {
|
|
185
|
+
let document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
186
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
162
187
|
type: "TEST_0",
|
|
163
188
|
input: {},
|
|
164
189
|
scope: "global",
|
|
165
|
-
});
|
|
166
|
-
document = wrappedEmptyReducer(document, {
|
|
190
|
+
}));
|
|
191
|
+
document = wrappedEmptyReducer(document, fakeAction({
|
|
167
192
|
type: "TEST_1",
|
|
168
193
|
input: {},
|
|
169
194
|
scope: "global",
|
|
170
|
-
});
|
|
171
|
-
|
|
195
|
+
}));
|
|
196
|
+
const action = fakeAction({
|
|
172
197
|
type: "TEST_2",
|
|
173
198
|
input: {},
|
|
174
199
|
scope: "global",
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
type: "TEST_2",
|
|
188
|
-
index: 3,
|
|
189
|
-
skip: 1,
|
|
200
|
+
});
|
|
201
|
+
document = wrappedEmptyReducer(document, action, undefined, {
|
|
202
|
+
skip: 1,
|
|
203
|
+
pruneOnSkip: false,
|
|
204
|
+
replayOptions: {
|
|
205
|
+
operation: {
|
|
206
|
+
action,
|
|
207
|
+
skip: 1,
|
|
208
|
+
index: 3,
|
|
209
|
+
timestampUtcMs: action.timestampUtcMs,
|
|
210
|
+
hash: "",
|
|
211
|
+
},
|
|
190
212
|
},
|
|
191
|
-
|
|
213
|
+
});
|
|
214
|
+
expect(document.operations.global[0].action.type).toBe("TEST_0");
|
|
215
|
+
expect(document.operations.global[0].index).toBe(0);
|
|
216
|
+
expect(document.operations.global[0].skip).toBe(0);
|
|
217
|
+
expect(document.operations.global[1].action.type).toBe("TEST_1");
|
|
218
|
+
expect(document.operations.global[1].index).toBe(1);
|
|
219
|
+
expect(document.operations.global[1].skip).toBe(0);
|
|
220
|
+
expect(document.operations.global[2].action.type).toBe("TEST_2");
|
|
221
|
+
expect(document.operations.global[2].index).toBe(3);
|
|
222
|
+
expect(document.operations.global[2].skip).toBe(1);
|
|
192
223
|
});
|
|
193
224
|
it("should not throw errors from reducer", () => {
|
|
194
|
-
const initialState =
|
|
195
|
-
|
|
196
|
-
});
|
|
197
|
-
let document = baseCreateDocument(initialState);
|
|
225
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
226
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
198
227
|
document = countReducer(document, increment());
|
|
199
228
|
document = countReducer(document, increment());
|
|
200
229
|
document = countReducer(document, error());
|
|
@@ -202,10 +231,8 @@ describe("Base reducer", () => {
|
|
|
202
231
|
expect(document.state.global.count).toBe(3);
|
|
203
232
|
});
|
|
204
233
|
it("should not throw errors from reducer when there is an error after an operation with skip value", () => {
|
|
205
|
-
const initialState =
|
|
206
|
-
|
|
207
|
-
});
|
|
208
|
-
let document = baseCreateDocument(initialState);
|
|
234
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
235
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
209
236
|
document = countReducer(document, increment());
|
|
210
237
|
document = countReducer(document, increment(), undefined, { skip: 1 });
|
|
211
238
|
document = countReducer(document, error());
|
|
@@ -213,10 +240,8 @@ describe("Base reducer", () => {
|
|
|
213
240
|
expect(document.state.global.count).toBe(2);
|
|
214
241
|
});
|
|
215
242
|
it("should include error message into error operation prop", () => {
|
|
216
|
-
const initialState =
|
|
217
|
-
|
|
218
|
-
});
|
|
219
|
-
let document = baseCreateDocument(initialState);
|
|
243
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
244
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
220
245
|
document = countReducer(document, increment());
|
|
221
246
|
document = countReducer(document, increment(), undefined, { skip: 1 });
|
|
222
247
|
document = countReducer(document, error());
|
|
@@ -245,10 +270,8 @@ describe("Base reducer", () => {
|
|
|
245
270
|
]);
|
|
246
271
|
});
|
|
247
272
|
it("should not include error message in successful operations", () => {
|
|
248
|
-
const initialState =
|
|
249
|
-
|
|
250
|
-
});
|
|
251
|
-
let document = baseCreateDocument(initialState);
|
|
273
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
274
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
252
275
|
document = countReducer(document, increment());
|
|
253
276
|
document = countReducer(document, increment());
|
|
254
277
|
document = countReducer(document, increment());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.test.js","sourceRoot":"","sources":["../../../test/document/reducer.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reducer.test.js","sourceRoot":"","sources":["../../../test/document/reducer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { setName } from "../../src/document/actions/creators.js";
|
|
2
|
-
import { baseCreateDocument,
|
|
2
|
+
import { baseCreateDocument, mapSkippedOperations, replayOperations, } from "../../src/document/utils/base.js";
|
|
3
3
|
import { garbageCollectDocumentOperations } from "../../src/document/utils/document-helpers.js";
|
|
4
|
-
import { baseCountReducer, countReducer,
|
|
4
|
+
import { baseCountReducer, countReducer, createBaseState, createCountDocumentState, defaultPHDocumentCreateState, error, fakeOperation, increment, mapOperations, wrappedEmptyReducer, } from "../helpers.js";
|
|
5
5
|
describe("skip operations", () => {
|
|
6
6
|
describe("skip operation param", () => {
|
|
7
7
|
it("should include skip param in base operations with default value to 0 if not provided", () => {
|
|
8
|
-
let document = baseCreateDocument();
|
|
8
|
+
let document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
9
9
|
document = wrappedEmptyReducer(document, setName("TEST_1"));
|
|
10
10
|
document = wrappedEmptyReducer(document, setName("TEST_2"));
|
|
11
11
|
document = wrappedEmptyReducer(document, setName("TEST_3"));
|
|
@@ -17,7 +17,7 @@ describe("skip operations", () => {
|
|
|
17
17
|
});
|
|
18
18
|
});
|
|
19
19
|
it("should include skip param in base operations with provided value", () => {
|
|
20
|
-
let document = baseCreateDocument();
|
|
20
|
+
let document = baseCreateDocument(defaultPHDocumentCreateState);
|
|
21
21
|
document = wrappedEmptyReducer(document, setName("TEST_1"), undefined, {
|
|
22
22
|
skip: 1,
|
|
23
23
|
ignoreSkipOperations: true,
|
|
@@ -41,9 +41,9 @@ describe("skip operations", () => {
|
|
|
41
41
|
describe("mapSkippedOperations", () => {
|
|
42
42
|
it('should tag as "ignored" operation 2 when operation 3 -> (skip=1)', () => {
|
|
43
43
|
const operations = [
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
fakeOperation(1),
|
|
45
|
+
fakeOperation(2),
|
|
46
|
+
fakeOperation(3, 1),
|
|
47
47
|
];
|
|
48
48
|
const ignoredIndexes = [2];
|
|
49
49
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -58,11 +58,11 @@ describe("skip operations", () => {
|
|
|
58
58
|
});
|
|
59
59
|
it('should tag as "ignored" operation 2, 3 and 4 when operation 5 -> (skip=3)', () => {
|
|
60
60
|
const operations = [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
fakeOperation(1),
|
|
62
|
+
fakeOperation(2),
|
|
63
|
+
fakeOperation(3),
|
|
64
|
+
fakeOperation(4),
|
|
65
|
+
fakeOperation(5, 3),
|
|
66
66
|
];
|
|
67
67
|
const ignoredIndexes = [2, 3, 4];
|
|
68
68
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -77,12 +77,12 @@ describe("skip operations", () => {
|
|
|
77
77
|
});
|
|
78
78
|
it('should tag as "ignored" operation 2 and 5 when opration 3 -> (skip=1) and operation 6 -> (skip=1)', () => {
|
|
79
79
|
const operations = [
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
fakeOperation(1),
|
|
81
|
+
fakeOperation(2),
|
|
82
|
+
fakeOperation(3, 1),
|
|
83
|
+
fakeOperation(4),
|
|
84
|
+
fakeOperation(5),
|
|
85
|
+
fakeOperation(6, 1),
|
|
86
86
|
];
|
|
87
87
|
const ignoredIndexes = [2, 5];
|
|
88
88
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -97,13 +97,13 @@ describe("skip operations", () => {
|
|
|
97
97
|
});
|
|
98
98
|
it('should tag as "ignored" operation 1, 2, 3, 4, 5 and 6 when opration 7 -> (skip=6)', () => {
|
|
99
99
|
const operations = [
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
100
|
+
fakeOperation(1),
|
|
101
|
+
fakeOperation(2),
|
|
102
|
+
fakeOperation(3),
|
|
103
|
+
fakeOperation(4),
|
|
104
|
+
fakeOperation(5),
|
|
105
|
+
fakeOperation(6),
|
|
106
|
+
fakeOperation(7, 6),
|
|
107
107
|
];
|
|
108
108
|
const ignoredIndexes = [1, 2, 3, 4, 5, 6];
|
|
109
109
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -118,11 +118,11 @@ describe("skip operations", () => {
|
|
|
118
118
|
});
|
|
119
119
|
it('should tag as "ignored" operation 2, 3, and 4 when operation 5 -> (skip=2) and operation 3 -> (skip=1)', () => {
|
|
120
120
|
const operations = [
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
fakeOperation(1),
|
|
122
|
+
fakeOperation(2),
|
|
123
|
+
fakeOperation(3, 1),
|
|
124
|
+
fakeOperation(4),
|
|
125
|
+
fakeOperation(5, 2),
|
|
126
126
|
];
|
|
127
127
|
const ignoredIndexes = [2, 3, 4];
|
|
128
128
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -137,14 +137,14 @@ describe("skip operations", () => {
|
|
|
137
137
|
});
|
|
138
138
|
it('should tag as "ignored" operations 3, 4, 5, 6, and 7 when operation 6 -> (skip=1) and operation 8 -> (skip=5)', () => {
|
|
139
139
|
const operations = [
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
140
|
+
fakeOperation(1),
|
|
141
|
+
fakeOperation(2),
|
|
142
|
+
fakeOperation(3),
|
|
143
|
+
fakeOperation(4),
|
|
144
|
+
fakeOperation(5),
|
|
145
|
+
fakeOperation(6, 1),
|
|
146
|
+
fakeOperation(7),
|
|
147
|
+
fakeOperation(8, 5),
|
|
148
148
|
];
|
|
149
149
|
const ignoredIndexes = [3, 4, 5, 6, 7];
|
|
150
150
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -159,11 +159,11 @@ describe("skip operations", () => {
|
|
|
159
159
|
});
|
|
160
160
|
it('should tag all the previous operations as "ignored" when operation 5 -> (skip=4)', () => {
|
|
161
161
|
const operations = [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
162
|
+
fakeOperation(1),
|
|
163
|
+
fakeOperation(2),
|
|
164
|
+
fakeOperation(3),
|
|
165
|
+
fakeOperation(4),
|
|
166
|
+
fakeOperation(5, 4),
|
|
167
167
|
];
|
|
168
168
|
const ignoredIndexes = [1, 2, 3, 4];
|
|
169
169
|
const mappedOps = mapSkippedOperations(operations);
|
|
@@ -177,11 +177,7 @@ describe("skip operations", () => {
|
|
|
177
177
|
});
|
|
178
178
|
});
|
|
179
179
|
it("should not skip operations if there's not skipped operations and skippedHeadOperations is not provided", () => {
|
|
180
|
-
const operations = [
|
|
181
|
-
createFakeOperation(1),
|
|
182
|
-
createFakeOperation(2),
|
|
183
|
-
createFakeOperation(3),
|
|
184
|
-
];
|
|
180
|
+
const operations = [fakeOperation(1), fakeOperation(2), fakeOperation(3)];
|
|
185
181
|
const mappedOps = mapSkippedOperations(operations);
|
|
186
182
|
expect(mappedOps.length).toBe(3);
|
|
187
183
|
mappedOps.forEach((mapOp) => {
|
|
@@ -189,11 +185,7 @@ describe("skip operations", () => {
|
|
|
189
185
|
});
|
|
190
186
|
});
|
|
191
187
|
it("should skip the latest operation when skippedHeadOperations = 1", () => {
|
|
192
|
-
const operations = [
|
|
193
|
-
createFakeOperation(1),
|
|
194
|
-
createFakeOperation(2),
|
|
195
|
-
createFakeOperation(3),
|
|
196
|
-
];
|
|
188
|
+
const operations = [fakeOperation(1), fakeOperation(2), fakeOperation(3)];
|
|
197
189
|
const ignoredIndexes = [3];
|
|
198
190
|
const mappedOps = mapSkippedOperations(operations, 1);
|
|
199
191
|
expect(mappedOps.length).toBe(3);
|
|
@@ -207,11 +199,11 @@ describe("skip operations", () => {
|
|
|
207
199
|
});
|
|
208
200
|
it("should skip the latest 2 operations when skippedHeadOperations = 2", () => {
|
|
209
201
|
const operations = [
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
202
|
+
fakeOperation(1),
|
|
203
|
+
fakeOperation(2),
|
|
204
|
+
fakeOperation(3),
|
|
205
|
+
fakeOperation(4),
|
|
206
|
+
fakeOperation(5),
|
|
215
207
|
];
|
|
216
208
|
const ignoredIndexes = [4, 5];
|
|
217
209
|
const mappedOps = mapSkippedOperations(operations, 2);
|
|
@@ -226,9 +218,9 @@ describe("skip operations", () => {
|
|
|
226
218
|
});
|
|
227
219
|
it("should be able to detect cleared operations", () => {
|
|
228
220
|
const operations = [
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
221
|
+
fakeOperation(0),
|
|
222
|
+
fakeOperation(1),
|
|
223
|
+
fakeOperation(3, 1),
|
|
232
224
|
];
|
|
233
225
|
const mappedOps = mapSkippedOperations(operations);
|
|
234
226
|
expect(mappedOps.length).toBe(3);
|
|
@@ -239,10 +231,8 @@ describe("skip operations", () => {
|
|
|
239
231
|
});
|
|
240
232
|
describe("replayOperations", () => {
|
|
241
233
|
it("should ignore operation 2, when operation 3 -> (skip=1)", () => {
|
|
242
|
-
const initialState =
|
|
243
|
-
|
|
244
|
-
});
|
|
245
|
-
let document = baseCreateDocument(initialState);
|
|
234
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
235
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
246
236
|
document = countReducer(document, increment()); // valid operation, skip 0
|
|
247
237
|
document = countReducer(document, increment()); // skipped
|
|
248
238
|
document = countReducer(
|
|
@@ -266,10 +256,8 @@ describe("skip operations", () => {
|
|
|
266
256
|
]);
|
|
267
257
|
});
|
|
268
258
|
it("should ignore operation 2, 3 and 4, when operation 5 -> (skip=3)", () => {
|
|
269
|
-
const initialState =
|
|
270
|
-
|
|
271
|
-
});
|
|
272
|
-
let document = baseCreateDocument(initialState);
|
|
259
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
260
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
273
261
|
document = countReducer(document, increment()); // valid operation, skip 0
|
|
274
262
|
document = countReducer(document, increment()); // skipped
|
|
275
263
|
document = countReducer(document, increment()); // skipped
|
|
@@ -295,10 +283,8 @@ describe("skip operations", () => {
|
|
|
295
283
|
]);
|
|
296
284
|
});
|
|
297
285
|
it("should ignore operation 2 and 5, when operation 3 -> (skip=1) and operation 6 -> (skip=1)", () => {
|
|
298
|
-
const initialState =
|
|
299
|
-
|
|
300
|
-
});
|
|
301
|
-
let document = baseCreateDocument(initialState);
|
|
286
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
287
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
302
288
|
document = countReducer(document, increment()); // valid operation, skip 0
|
|
303
289
|
document = countReducer(document, increment()); // skipped
|
|
304
290
|
document = countReducer(
|
|
@@ -337,10 +323,8 @@ describe("skip operations", () => {
|
|
|
337
323
|
]);
|
|
338
324
|
});
|
|
339
325
|
it("should ignore all the previous operations, when operation 5 -> (skip=4)", () => {
|
|
340
|
-
const initialState =
|
|
341
|
-
|
|
342
|
-
});
|
|
343
|
-
let document = baseCreateDocument(initialState);
|
|
326
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
327
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
344
328
|
document = countReducer(document, increment()); // skipped
|
|
345
329
|
document = countReducer(document, increment()); // skipped
|
|
346
330
|
document = countReducer(document, increment()); // skipped
|
|
@@ -361,10 +345,8 @@ describe("skip operations", () => {
|
|
|
361
345
|
]);
|
|
362
346
|
});
|
|
363
347
|
it("should skip operations when dispatch a new action with an skip value", () => {
|
|
364
|
-
const initialState =
|
|
365
|
-
|
|
366
|
-
});
|
|
367
|
-
let document = baseCreateDocument(initialState);
|
|
348
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
349
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
368
350
|
document = countReducer(document, increment());
|
|
369
351
|
document = countReducer(document, increment());
|
|
370
352
|
document = countReducer(document, increment(), undefined, {
|
|
@@ -395,10 +377,8 @@ describe("skip operations", () => {
|
|
|
395
377
|
]);
|
|
396
378
|
});
|
|
397
379
|
it("should not process and skip operation that throws an error", () => {
|
|
398
|
-
const initialState =
|
|
399
|
-
|
|
400
|
-
});
|
|
401
|
-
let document = baseCreateDocument(initialState);
|
|
380
|
+
const initialState = createBaseState({ count: 0 }, { name: "" });
|
|
381
|
+
let document = baseCreateDocument(createCountDocumentState, initialState);
|
|
402
382
|
document = countReducer(document, increment());
|
|
403
383
|
document = countReducer(document, increment());
|
|
404
384
|
document = countReducer(document, error(), undefined, {
|