You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
import { System } from "../src/realm/entities/System";
|
|
import { migratev0 } from "../src/realm/migrations/MigrateV0";
|
|
import { migratev1 } from "../src/realm/migrations/MigrateV1";
|
|
import { MockRealm } from "../__mock__/mockRealmObject";
|
|
|
|
test('Realm migrates to V0', () => {
|
|
let oldRealm = new MockRealm(0);
|
|
let newRealm = new MockRealm(0);
|
|
migratev0(oldRealm, newRealm);
|
|
expect(newRealm.schemaVersion).toBe(0);
|
|
})
|
|
|
|
test('Realm migrates to V1', () => {
|
|
let oldRealm = new MockRealm(0);
|
|
let newRealm = new MockRealm(0);
|
|
migratev0(oldRealm, newRealm);
|
|
|
|
oldRealm = newRealm;
|
|
newRealm = new MockRealm(1);
|
|
migratev1(oldRealm, newRealm);
|
|
|
|
expect(newRealm[System.name][0].key).toBe('username');
|
|
expect(newRealm[System.name][0].value).toBe('changeme');
|
|
})
|
|
|
|
test('Realm halts V1 migration when schema is V2+', () => {
|
|
let oldRealm = new MockRealm(2);
|
|
newRealm = new MockRealm(1);
|
|
migratev1(oldRealm, newRealm);
|
|
oldRealm.create(System.name, {key: 'key1', value: 'value'})
|
|
|
|
expect(oldRealm[System.name].length).toBe(1);
|
|
})
|