Skip to content

Commit 6b113ef

Browse files
bndktjamesgpearce
authored andcommitted
[powersync] Fix test mocks
1 parent bbbc9e8 commit 6b113ef

File tree

5 files changed

+22
-37
lines changed

5 files changed

+22
-37
lines changed

src/persisters/persister-powersync.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,15 @@ export const createPowerSyncPersister = ((
2323
powerSync.execute(sql, args).then((result) => result.rows?._array ?? []),
2424
(listener: UpdateListener): AbortController => {
2525
const abortController = new AbortController();
26-
2726
const onChange = powerSync.onChange({
2827
rawTableNames: true,
2928
signal: abortController.signal,
3029
});
31-
3230
(async () => {
3331
for await (const update of onChange) {
3432
arrayMap(update.changedTables, listener);
3533
}
3634
})();
37-
3835
return abortController;
3936
},
4037
(abortController: AbortController) => abortController.abort(),

test/unit/persisters/persister-sqlite-json.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ describe.each(Object.entries(VARIANTS).slice(1, 2))(
296296
expect(store2.getContent()).toEqual([{t1: {r1: {c1: 1}}}, {v1: 1}]);
297297
});
298298

299-
test.only('autoSave1 & autoLoad2, complex transactions', async () => {
299+
test('autoSave1 & autoLoad2, complex transactions', async () => {
300300
await persister1.startAutoSave();
301301
await persister2.startAutoLoad();
302302
store1

test/unit/persisters/persister-sqlite-tabular.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1476,6 +1476,7 @@ describe.each(Object.entries(VARIANTS))(
14761476
expect(store2.getContent()).toEqual([{t1: {r1: {c1: 1}}}, {v1: 1}]);
14771477
});
14781478

1479+
// FAILS
14791480
test('autoSave1 & autoLoad2, complex transactions', async () => {
14801481
await persister1.startAutoSave();
14811482
await persister2.startAutoLoad();

test/unit/persisters/persisters.test.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,7 @@ describe.each([
713713
expect(persister.getStats()).toEqual({loads: 1, saves: 0});
714714
});
715715

716+
// FAILS
716717
test('autoLoads', async () => {
717718
await persistable.set(location, [{t1: {r1: {c1: 1}}}]);
718719
await persister.startAutoLoad();

test/unit/persisters/sqlite.ts

Lines changed: 19 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,6 @@ class WASQLitePowerSyncDatabaseOpenFactory {
7272
const instance: AbstractPowerSyncDatabase = {
7373
execute: (sql, args) =>
7474
new Promise((resolve, reject) => {
75-
console.info('*** EXECUTE', sql, args);
7675
return db.all(sql, args, (error, rows: {[id: string]: any}[]) =>
7776
error
7877
? reject(error)
@@ -93,38 +92,26 @@ class WASQLitePowerSyncDatabaseOpenFactory {
9392
db.close();
9493
resolve();
9594
}),
96-
onChange: ({signal} = {}) => {
97-
console.warn('*** ONCHANGE', signal?.aborted);
98-
return {
99-
async *[Symbol.asyncIterator]() {
100-
if (signal?.aborted) {
101-
return;
102-
}
103-
104-
while (true) {
105-
const nextChange = await new Promise<WatchOnChangeEvent>(
106-
(resolve) => {
107-
const observer = (_: any, _2: any, tableName: string) => {
108-
db.off('change', observer);
109-
console.warn('*** CHANGE', {changedTables: [tableName]});
110-
resolve({changedTables: [tableName]});
111-
};
112-
113-
signal?.addEventListener('abort', () => {
114-
db.off('change', observer);
115-
});
116-
117-
db.on('change', observer);
118-
},
119-
);
120-
121-
yield nextChange;
122-
}
123-
},
124-
};
125-
},
95+
onChange: ({signal} = {}) => ({
96+
async *[Symbol.asyncIterator]() {
97+
signal?.addEventListener('abort', () =>
98+
db.removeAllListeners('change'),
99+
);
100+
while (!signal?.aborted) {
101+
const nextChange = await new Promise<WatchOnChangeEvent>(
102+
(resolve) => {
103+
const observer = (_: any, _2: any, tableName: string) => {
104+
db.removeAllListeners('change');
105+
resolve({changedTables: [tableName]});
106+
};
107+
db.addListener('change', observer);
108+
},
109+
);
110+
yield nextChange;
111+
}
112+
},
113+
}),
126114
};
127-
128115
return instance;
129116
}
130117
}
@@ -211,7 +198,6 @@ export const VARIANTS: {[name: string]: SqliteVariant<any>} = {
211198
(ps: AbstractPowerSyncDatabase, sql: string, args: any[] = []) =>
212199
ps.execute(sql, args).then((result) => result.rows?._array ?? []),
213200
(ps: AbstractPowerSyncDatabase) => ps.close(),
214-
1000,
215201
],
216202
sqlite3: [
217203
async (): Promise<Database> => new sqlite3.Database(':memory:'),

0 commit comments

Comments
 (0)