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

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);
})