1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 08:09:15 +01:00
metamask-extension/test/unit/migrations/038-test.js
Dan J Miller 1bd22b58c0
Add a/b test for full screen transaction confirmations (#7162)
* Adds ab test controller with a fullScreenVsPopup test

* Add migration for fullScreenVsPopup state

* Move abtest state under an 'abtests' object.

* MetaMask shows fullScreen group of a/b test unapproved txs in a full browser tab

* Ensure cancel metrics event in confirm-transaction-base.component.js is sent in all cases

* Switch to existing tab for unapproved tx if it exists when opening in full screen

* Send metrics event for entering a/b test from confirm screen

* Fix lint, unit and integration tests related to a/b test code

* Remove unnecessary tabs.query call in triggerUiInNewTab
2019-09-24 17:08:38 -04:00

61 lines
1.4 KiB
JavaScript

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