ligo/tools/webide/packages/server/test/schemas/share-v1.spec.ts

60 lines
1.2 KiB
TypeScript
Raw Normal View History

import { SchemaMigrationV1 } from '../../src/schemas/share-v1';
const V0 = {
language: 'language',
code: 'code',
entrypoint: 'entrypoint',
parameters: 'parameters',
storage: 'storage'
};
const V1 = {
version: 'v1',
state: {
editor: {
language: 'language',
code: 'code'
},
compile: {
entrypoint: 'entrypoint'
},
dryRun: {
entrypoint: 'entrypoint',
parameters: 'parameters',
storage: 'storage'
},
deploy: {
entrypoint: 'entrypoint',
storage: 'storage',
useTezBridge: false
},
evaluateFunction: {
entrypoint: 'entrypoint',
parameters: 'parameters'
},
evaluateValue: {
entrypoint: 'entrypoint'
}
}
};
describe('Share Schema Migration V1', () => {
it('should forward migrate v0 to v1', () => {
expect(new SchemaMigrationV1().forward(V0)).toEqual(V1);
});
it('should forward migrate v1 to v1', () => {
expect(new SchemaMigrationV1().forward(V1)).toEqual(V1);
});
it('should throw error on unknown version', () => {
function forwardUnknownVersion() {
new SchemaMigrationV1().forward({
a: 0
});
}
expect(forwardUnknownVersion).toThrowError();
});
});