1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 20:02:58 +01:00

Add tests around migration files (#7016)

This commit is contained in:
Frankie 2019-12-12 14:14:29 -10:00 committed by Whymarrh Whitby
parent 2e188ce4ef
commit 237d0b4d41
3 changed files with 36 additions and 1 deletions

View File

@ -0,0 +1,15 @@
#! /bin/bash
g-migration() {
[[ -z "$1" ]] && { echo "Migration version is required!" ; exit 1; }
local vnum=$1
if (($1 < 100)); then
vnum=0$1
fi
touch app/scripts/migrations/"$vnum".js
cp app/scripts/migrations/template.js app/scripts/migrations/"$vnum".js
touch test/unit/migrations/"$vnum".js
cp test/unit/migrations/template-test.js test/unit/migrations/"$vnum"-test.js
}
g-migration "$1"

View File

@ -51,7 +51,8 @@
"version:bump": "node development/run-version-bump.js",
"storybook": "start-storybook -p 6006 -c .storybook",
"update-changelog": "./development/auto-changelog.sh",
"rollback": "./development/rollback.sh"
"rollback": "./development/rollback.sh",
"generate:migration": "./development/generate-migration.sh"
},
"resolutions": {
"3box/ipfs/ipld-zcash/zcash-bitcore-lib/lodash": "^4.17.12",

View File

@ -1,5 +1,7 @@
const fs = require('fs')
const assert = require('assert')
const clone = require('clone')
const pify = require('pify')
const Migrator = require('../../../app/scripts/lib/migrator/')
const liveMigrations = require('../../../app/scripts/migrations/')
const stubMigrations = [
@ -35,6 +37,23 @@ const firstTimeState = {
meta: { version: 0 },
data: require('../../../app/scripts/first-time-state'),
}
describe('liveMigrations require list', () => {
it('should include all the migrations', async () => {
const fileNames = await pify(cb => fs.readdir('./app/scripts/migrations/', cb))()
const migrationNumbers = fileNames.reduce((agg, filename) => {
const name = filename.split('.')[0]
if (/^\d+$/.test(name)) {
agg.push(name)
}
return agg
}, []).map((num) => parseInt(num))
migrationNumbers.forEach((num) => {
const migration = liveMigrations.find((m) => m.version === num)
assert(migration, `migration should be include in the index missing migration ${num}`)
})
})
})
describe('Migrator', () => {
const migrator = new Migrator({ migrations: stubMigrations })