Skip to content

Commit ba06ea1

Browse files
committed
Add mysql tests
1 parent 3f3da61 commit ba06ea1

File tree

2 files changed

+30
-7
lines changed

2 files changed

+30
-7
lines changed

modules/module-mongodb/test/src/mongo_test.test.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import {
44
CompatibilityContext,
55
CompatibilityEdition,
66
SqliteInputRow,
7-
SqlSyncRules
7+
SqlSyncRules,
8+
TimeValuePrecision
89
} from '@powersync/service-sync-rules';
910
import { describe, expect, test } from 'vitest';
1011

@@ -555,11 +556,23 @@ bucket_definitions:
555556
noFraction: '2023-03-06 13:47:01.000Z'
556557
});
557558

558-
const newFormat = applyRowContext(row, new CompatibilityContext(CompatibilityEdition.SYNC_STREAMS));
559+
const newFormat = applyRowContext(row, new CompatibilityContext({ edition: CompatibilityEdition.SYNC_STREAMS }));
559560
expect(newFormat).toMatchObject({
560561
fraction: '2023-03-06T13:47:01.123Z',
561562
noFraction: '2023-03-06T13:47:01.000Z'
562563
});
564+
565+
const reducedPrecisionFormat = applyRowContext(
566+
row,
567+
new CompatibilityContext({
568+
edition: CompatibilityEdition.SYNC_STREAMS,
569+
maxTimeValuePrecision: TimeValuePrecision.seconds
570+
})
571+
);
572+
expect(reducedPrecisionFormat).toMatchObject({
573+
fraction: '2023-03-06T13:47:01Z',
574+
noFraction: '2023-03-06T13:47:01Z'
575+
});
563576
} finally {
564577
await client.close();
565578
}

modules/module-mysql/test/src/mysql-to-sqlite.test.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { SqliteInputRow, SqliteRow } from '@powersync/service-sync-rules';
1+
import { applyRowContext, CompatibilityContext, SqliteInputRow, SqliteRow } from '@powersync/service-sync-rules';
22
import { afterAll, describe, expect, test } from 'vitest';
33
import { clearTestDb, TEST_CONNECTION_OPTIONS } from './util.js';
44
import { eventIsWriteMutation, eventIsXid } from '@module/replication/zongji/zongji-utils.js';
@@ -228,8 +228,14 @@ INSERT INTO test_data (
228228
year_col: 2023
229229
};
230230

231-
expect(databaseRows[0]).toMatchObject(expectedResult);
232-
expect(replicatedRows[0]).toMatchObject(expectedResult);
231+
expect(applyRowContext(databaseRows[0], CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY)).toMatchObject(
232+
expectedResult
233+
);
234+
expect(applyRowContext(replicatedRows[0], CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY)).toMatchObject(
235+
expectedResult
236+
);
237+
expect(applyRowContext(databaseRows[0], new CompatibilityContext({ edition: 2 }))).toMatchObject(expectedResult);
238+
expect(applyRowContext(replicatedRows[0], new CompatibilityContext({ edition: 2 }))).toMatchObject(expectedResult);
233239
});
234240

235241
test('Date types edge cases mappings', async () => {
@@ -264,8 +270,12 @@ INSERT INTO test_data (
264270
const replicatedRows = await getReplicatedRows(expectedResults.length);
265271

266272
for (let i = 0; i < expectedResults.length; i++) {
267-
expect(databaseRows[i]).toMatchObject(expectedResults[i]);
268-
expect(replicatedRows[i]).toMatchObject(expectedResults[i]);
273+
expect(applyRowContext(databaseRows[i], CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY)).toMatchObject(
274+
expectedResults[i]
275+
);
276+
expect(applyRowContext(replicatedRows[i], CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY)).toMatchObject(
277+
expectedResults[i]
278+
);
269279
}
270280
} finally {
271281
connection.release;

0 commit comments

Comments
 (0)