Skip to content

Commit 3393e03

Browse files
committed
test(json-crdt): 💍 fix all tests after refactor
1 parent ca2883b commit 3393e03

File tree

7 files changed

+25
-41
lines changed

7 files changed

+25
-41
lines changed

src/json-crdt/__demos__/events.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const model = Model.withLogicalClock(1234); // 1234 is the session ID
2525

2626
// DOM Level 2 node events
2727
const root = model.api.r;
28-
root.events.onViewChange.listen(() => {
28+
root.events.onViewChanges.listen(() => {
2929
console.log('Root value changed');
3030
});
3131

src/json-crdt/model/__tests__/Model.cloning.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ describe('reset()', () => {
215215
});
216216
doc2.api.str(['text']).ins(5, ' world');
217217
let cnt = 0;
218-
doc2.api.events.on('change', () => cnt++);
218+
doc2.api.onChanges.listen(() => cnt++);
219219
doc2.reset(doc1);
220220
await until(() => cnt > 0);
221221
expect(cnt).toBe(1);

src/json-crdt/model/__tests__/Model.events.spec.ts

Lines changed: 7 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import {PatchBuilder} from '../../../json-crdt-patch';
2-
import {Model, ModelChangeType} from '../Model';
2+
import {Model} from '../Model';
33

44
describe('DOM Level 0, .onchange event system', () => {
55
it('should trigger the onchange event when a value is set', () => {
66
const model = Model.withLogicalClock();
77
let cnt = 0;
8-
model.onchange = () => {
8+
model.onpatch = () => {
99
cnt++;
1010
};
1111
expect(cnt).toBe(0);
@@ -26,7 +26,7 @@ describe('DOM Level 0, .onchange event system', () => {
2626
it('should trigger the onchange event when a value is set to the same value', () => {
2727
const model = Model.withLogicalClock();
2828
let cnt = 0;
29-
model.onchange = () => {
29+
model.onpatch = () => {
3030
cnt++;
3131
};
3232
expect(cnt).toBe(0);
@@ -42,7 +42,7 @@ describe('DOM Level 0, .onchange event system', () => {
4242
it('should trigger the onchange event when a value is deleted', () => {
4343
const model = Model.withLogicalClock();
4444
let cnt = 0;
45-
model.onchange = () => {
45+
model.onpatch = () => {
4646
cnt++;
4747
};
4848
expect(cnt).toBe(0);
@@ -60,7 +60,7 @@ describe('DOM Level 0, .onchange event system', () => {
6060
it('should trigger the onchange event when a non-existent value is deleted', () => {
6161
const model = Model.withLogicalClock();
6262
let cnt = 0;
63-
model.onchange = () => {
63+
model.onpatch = () => {
6464
cnt++;
6565
};
6666
expect(cnt).toBe(0);
@@ -78,7 +78,7 @@ describe('DOM Level 0, .onchange event system', () => {
7878
it('should trigger when root value is changed', () => {
7979
const model = Model.withLogicalClock();
8080
let cnt = 0;
81-
model.onchange = () => {
81+
model.onpatch = () => {
8282
cnt++;
8383
};
8484
expect(cnt).toBe(0);
@@ -96,29 +96,12 @@ describe('DOM Level 0, .onchange event system', () => {
9696
});
9797

9898
describe('event types', () => {
99-
it('should trigger the onchange event with a REMOTE event type', () => {
100-
const model = Model.withLogicalClock();
101-
let cnt = 0;
102-
model.onchange = (type) => {
103-
expect(type).toBe(ModelChangeType.REMOTE);
104-
cnt++;
105-
};
106-
const builder = new PatchBuilder(model.clock.clone());
107-
builder.root(builder.json({foo: 123}));
108-
const patch = builder.flush();
109-
expect(cnt).toBe(0);
110-
model.applyPatch(patch);
111-
expect(cnt).toBe(1);
112-
expect(model.view()).toStrictEqual({foo: 123});
113-
});
114-
11599
it('should trigger the onchange event with a RESET event type', () => {
116100
const model1 = Model.withLogicalClock();
117101
const model2 = Model.withLogicalClock();
118102
model2.api.root([1, 2, 3]);
119103
let cnt = 0;
120-
model1.onchange = (type) => {
121-
expect(type).toBe(ModelChangeType.RESET);
104+
model1.onreset = () => {
122105
cnt++;
123106
};
124107
expect(cnt).toBe(0);

src/json-crdt/model/api/NodeEvents.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ export class NodeEvents<N extends JsonNode = JsonNode> implements SyncStore<Json
2424
* This event depends on overall Model's `onChanges` event, which is
2525
* batched using `queueMicrotask`.
2626
*/
27-
public readonly onViewChange: FanOut<JsonNodeView<N>>;
27+
public readonly onViewChanges: FanOut<JsonNodeView<N>>;
2828

2929
constructor(private readonly api: NodeApi<N>) {
3030
this.onChanges = new MapFanOut(this.api.api.onChanges, this.getSnapshot);
31-
this.onViewChange = new OnNewFanOut(this.onChanges);
31+
this.onViewChanges = new OnNewFanOut(this.onChanges);
3232
}
3333

3434
/**
@@ -38,13 +38,13 @@ export class NodeEvents<N extends JsonNode = JsonNode> implements SyncStore<Json
3838
* @ignore
3939
*/
4040
public handleDelete() {
41-
(this.onViewChange as OnNewFanOut<JsonNodeView<N>>).clear();
41+
(this.onViewChanges as OnNewFanOut<JsonNodeView<N>>).clear();
4242
(this.onChanges as MapFanOut<unknown, unknown>).clear();
4343
}
4444

4545
// ---------------------------------------------------------------- SyncStore
4646

4747
public readonly subscribe = (callback: () => void): SyncStoreUnsubscribe =>
48-
this.onViewChange.listen(() => callback());
48+
this.onViewChanges.listen(() => callback());
4949
public readonly getSnapshot = () => this.api.view();
5050
}

src/json-crdt/model/api/__tests__/NodeEvents.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Model} from '../..';
22

3-
test('does not fire events after node is deleted', () => {
3+
test('does not fire events after node is deleted', async () => {
44
const model = Model.withLogicalClock();
55
model.api.root({
66
foo: {
@@ -11,13 +11,14 @@ test('does not fire events after node is deleted', () => {
1111
});
1212
const bar = model.api.obj(['foo', 'bar']);
1313
let cnt = 0;
14-
bar.events.changes.listen(() => {
14+
bar.events.onViewChanges.listen(() => {
1515
cnt++;
1616
});
1717
expect(cnt).toBe(0);
1818
bar.set({
1919
gg: 'wp',
2020
});
21+
await Promise.resolve();
2122
expect(cnt).toBe(1);
2223
model.api.obj(['foo']).del(['bar']);
2324
model.api.obj(['foo']).set({gl: 'hf'});

src/json-crdt/model/api/__tests__/StrApi.spec.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,14 @@ describe('events', () => {
7575
const onView = () => cnt++;
7676
str.ins(0, 'aaa');
7777
expect(cnt).toEqual(0);
78-
str.events.on('view', onView);
78+
const unsub = str.events.onViewChanges.listen(onView);
7979
str.ins(0, 'bbb');
8080
await Promise.resolve();
8181
expect(cnt).toEqual(1);
8282
str.ins(0, 'ccc');
8383
await Promise.resolve();
8484
expect(cnt).toEqual(2);
85-
str.events.off('view', onView);
85+
unsub();
8686
str.del(1, 7);
8787
expect(cnt).toEqual(2);
8888
});
@@ -96,7 +96,7 @@ describe('events', () => {
9696
const onChange = () => cnt++;
9797
str.ins(0, 'aaa');
9898
expect(cnt).toEqual(0);
99-
str.events.on('view', onChange);
99+
str.events.onViewChanges.listen(onChange);
100100
str.ins(0, 'bbb');
101101
str.ins(0, 'ccc');
102102
str.del(1, 7);
@@ -114,7 +114,7 @@ describe('events', () => {
114114
const onView = () => cnt++;
115115
str.ins(0, 'aaa');
116116
expect(cnt).toEqual(0);
117-
const unsubscribe = str.events.changes.listen(onView);
117+
const unsubscribe = str.events.onViewChanges.listen(onView);
118118
str.ins(0, 'bbb');
119119
await Promise.resolve();
120120
expect(cnt).toEqual(1);

src/json-crdt/model/api/__tests__/VecApi.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe('events', () => {
4949
let cnt = 0;
5050
const onView = () => cnt++;
5151
const tuple = api.vec([]);
52-
tuple.events.on('view', onView);
52+
tuple.events.onViewChanges.listen(onView);
5353
expect(cnt).toBe(0);
5454
tuple.set([[0, 1.5]]);
5555
await Promise.resolve();
@@ -69,7 +69,7 @@ describe('events', () => {
6969
let cnt = 0;
7070
const onView = () => cnt++;
7171
const tuple = api.vec([]);
72-
tuple.events.on('view', onView);
72+
tuple.events.onViewChanges.listen(onView);
7373
expect(cnt).toBe(0);
7474
tuple.set([[0, 1.5]]);
7575
await Promise.resolve();
@@ -92,15 +92,15 @@ describe('events', () => {
9292
let cnt = 0;
9393
const onView = () => cnt++;
9494
const tuple = api.vec([]);
95-
tuple.events.on('view', onView);
95+
const unsub = tuple.events.onViewChanges.listen(onView);
9696
expect(cnt).toBe(0);
9797
tuple.set([[0, 1.5]]);
9898
await Promise.resolve();
9999
expect(cnt).toBe(1);
100100
tuple.set([[0, 2.5]]);
101101
await Promise.resolve();
102102
expect(cnt).toBe(2);
103-
tuple.events.off('view', onView);
103+
unsub();
104104
tuple.set([[0, 3.5]]);
105105
await Promise.resolve();
106106
expect(cnt).toBe(2);
@@ -113,7 +113,7 @@ describe('events', () => {
113113
let cnt = 0;
114114
const onView = () => cnt++;
115115
const tuple = api.vec([]);
116-
tuple.events.on('view', onView);
116+
tuple.events.onViewChanges.listen(onView);
117117
expect(cnt).toBe(0);
118118
tuple.set([[0, 1.5]]);
119119
tuple.set([[1, 44]]);

0 commit comments

Comments
 (0)