Switch testing from ava to @holllo/test.
This commit is contained in:
parent
d8fa000181
commit
f6ffc0182d
|
@ -1,21 +0,0 @@
|
|||
import test from 'ava';
|
||||
import {migrate, Migration} from '../source/migration-helper.js';
|
||||
|
||||
test('migrate<Date>', async (t) => {
|
||||
const migrations: Array<Migration<Date, string, string>> = [
|
||||
{
|
||||
version: new Date('2022-01-01'),
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
function offsetDate(offset: number): Date {
|
||||
const d = new Date(migrations[0].version);
|
||||
d.setDate(d.getDate() + offset);
|
||||
return d;
|
||||
}
|
||||
|
||||
const data = 'data';
|
||||
t.is(await migrate(data, offsetDate(-1), migrations), 'data migrated');
|
||||
t.is(await migrate(data, offsetDate(1), migrations), data);
|
||||
});
|
|
@ -0,0 +1,77 @@
|
|||
import {setup} from '@holllo/test';
|
||||
import {
|
||||
migrate,
|
||||
Migration,
|
||||
SkipMigrationFn,
|
||||
} from '../source/migration-helper.js';
|
||||
|
||||
await setup('migrate<T>', async (group) => {
|
||||
group.test('T = Date', async (test) => {
|
||||
const migrations: Array<Migration<Date, string, string>> = [
|
||||
{
|
||||
version: new Date('2022-01-01'),
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
function offsetDate(offset: number): Date {
|
||||
const d = new Date(migrations[0].version);
|
||||
d.setDate(d.getDate() + offset);
|
||||
return d;
|
||||
}
|
||||
|
||||
const data = 'data';
|
||||
test.equals(
|
||||
await migrate(data, offsetDate(-1), migrations),
|
||||
'data migrated',
|
||||
);
|
||||
test.equals(await migrate(data, offsetDate(1), migrations), data);
|
||||
});
|
||||
|
||||
group.test('T = number', async (test) => {
|
||||
const migrations: Array<Migration<number, string, string>> = [
|
||||
{
|
||||
version: 5,
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
test.equals(await migrate(data, 4, migrations), 'data migrated');
|
||||
test.equals(await migrate(data, 6, migrations), data);
|
||||
});
|
||||
|
||||
group.test('T = {custom: number}', async (test) => {
|
||||
type Custom = {
|
||||
custom: number;
|
||||
};
|
||||
|
||||
const skip: SkipMigrationFn<Custom> = (a, b) => a.custom > b.custom;
|
||||
const migrations: Array<Migration<Custom, string, string>> = [
|
||||
{
|
||||
version: {custom: 5},
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
test.equals(await migrate(data, {custom: 4}, migrations, skip), data);
|
||||
test.equals(
|
||||
await migrate(data, {custom: 6}, migrations, skip),
|
||||
'data migrated',
|
||||
);
|
||||
});
|
||||
|
||||
group.test('T = string', async (test) => {
|
||||
const migrations: Array<Migration<string, string, string>> = [
|
||||
{
|
||||
version: '0.2.4',
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
test.equals(await migrate(data, '0.2.3', migrations), 'data migrated');
|
||||
test.equals(await migrate(data, '0.2.5', migrations), data);
|
||||
});
|
||||
});
|
|
@ -1,15 +0,0 @@
|
|||
import test from 'ava';
|
||||
import {migrate, Migration} from '../source/migration-helper.js';
|
||||
|
||||
test('migrate<number>', async (t) => {
|
||||
const migrations: Array<Migration<number, string, string>> = [
|
||||
{
|
||||
version: 5,
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
t.is(await migrate(data, 4, migrations), 'data migrated');
|
||||
t.is(await migrate(data, 6, migrations), data);
|
||||
});
|
|
@ -1,24 +0,0 @@
|
|||
import test from 'ava';
|
||||
import {
|
||||
migrate,
|
||||
Migration,
|
||||
SkipMigrationFn,
|
||||
} from '../source/migration-helper.js';
|
||||
|
||||
test('migrate<{custom: number}>', async (t) => {
|
||||
type Custom = {
|
||||
custom: number;
|
||||
};
|
||||
|
||||
const skip: SkipMigrationFn<Custom> = (a, b) => a.custom > b.custom;
|
||||
const migrations: Array<Migration<Custom, string, string>> = [
|
||||
{
|
||||
version: {custom: 5},
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
t.is(await migrate(data, {custom: 4}, migrations, skip), data);
|
||||
t.is(await migrate(data, {custom: 6}, migrations, skip), 'data migrated');
|
||||
});
|
|
@ -1,15 +0,0 @@
|
|||
import test from 'ava';
|
||||
import {migrate, Migration} from '../source/migration-helper.js';
|
||||
|
||||
test('migrate<string>', async (t) => {
|
||||
const migrations: Array<Migration<string, string, string>> = [
|
||||
{
|
||||
version: '0.2.4',
|
||||
migrate: async (data: string) => `${data} migrated`,
|
||||
},
|
||||
];
|
||||
|
||||
const data = 'data';
|
||||
t.is(await migrate(data, '0.2.3', migrations), 'data migrated');
|
||||
t.is(await migrate(data, '0.2.5', migrations), data);
|
||||
});
|
Loading…
Reference in New Issue