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.
61 lines
1.4 KiB
61 lines
1.4 KiB
5 years ago
|
const assert = require('assert')
|
||
|
const migration38 = require('../../../app/scripts/migrations/038')
|
||
|
|
||
|
describe('migration #38', () => {
|
||
|
it('should update the version metadata', (done) => {
|
||
|
const oldStorage = {
|
||
|
'meta': {
|
||
|
'version': 37,
|
||
|
},
|
||
|
'data': {},
|
||
|
}
|
||
|
|
||
|
migration38.migrate(oldStorage)
|
||
|
.then((newStorage) => {
|
||
|
assert.deepEqual(newStorage.meta, {
|
||
|
'version': 38,
|
||
|
})
|
||
|
done()
|
||
|
})
|
||
|
.catch(done)
|
||
|
})
|
||
|
|
||
|
it('should add a fullScreenVsPopup property set to either "control" or "fullScreen"', (done) => {
|
||
|
const oldStorage = {
|
||
|
'meta': {},
|
||
|
'data': {},
|
||
|
}
|
||
|
|
||
|
migration38.migrate(oldStorage)
|
||
|
.then((newStorage) => {
|
||
|
assert(newStorage.data.ABTestController.abTests.fullScreenVsPopup.match(/control|fullScreen/))
|
||
|
done()
|
||
|
})
|
||
|
.catch(done)
|
||
|
})
|
||
|
|
||
|
it('should leave the fullScreenVsPopup property unchanged if it exists', (done) => {
|
||
|
const oldStorage = {
|
||
|
'meta': {},
|
||
|
'data': {
|
||
|
'ABTestController': {
|
||
|
abTests: {
|
||
|
'fullScreenVsPopup': 'fullScreen',
|
||
|
},
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
migration38.migrate(oldStorage)
|
||
|
.then((newStorage) => {
|
||
|
assert.deepEqual(newStorage.data.ABTestController, {
|
||
|
abTests: {
|
||
|
'fullScreenVsPopup': 'fullScreen',
|
||
|
},
|
||
|
})
|
||
|
done()
|
||
|
})
|
||
|
.catch(done)
|
||
|
})
|
||
|
})
|