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.
217 lines
6.3 KiB
217 lines
6.3 KiB
import { TEST_CHAINS } from '../../../shared/constants/network';
|
|
import migration67 from './067';
|
|
|
|
describe('migration #67', () => {
|
|
it('should update the version metadata', async () => {
|
|
const oldStorage = {
|
|
meta: {
|
|
version: 66,
|
|
},
|
|
data: {},
|
|
};
|
|
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(newStorage.meta).toStrictEqual({
|
|
version: 67,
|
|
});
|
|
});
|
|
|
|
it('should set showTestNetworks to true if the user is currently on a test network', async () => {
|
|
const oldStorage = {
|
|
meta: {},
|
|
data: {
|
|
PreferencesController: {
|
|
preferences: {
|
|
showTestNetworks: false,
|
|
},
|
|
},
|
|
NetworkController: {
|
|
provider: {
|
|
chainId: TEST_CHAINS[0],
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(
|
|
newStorage.data.PreferencesController.preferences.showTestNetworks,
|
|
).toBe(true);
|
|
});
|
|
|
|
it('should set showTestNetworks to true if there is a transaction on a test network in state', async () => {
|
|
const oldStorage = {
|
|
meta: {},
|
|
data: {
|
|
PreferencesController: {
|
|
preferences: {
|
|
showTestNetworks: false,
|
|
},
|
|
},
|
|
NetworkController: {
|
|
provider: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
TransactionController: {
|
|
transactions: {
|
|
abc123: {
|
|
chainId: TEST_CHAINS[0],
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(
|
|
newStorage.data.PreferencesController.preferences.showTestNetworks,
|
|
).toBe(true);
|
|
});
|
|
|
|
it('should set showTestNetworks to true if the user has a cached balance on a test network', async () => {
|
|
const oldStorage = {
|
|
meta: {},
|
|
data: {
|
|
PreferencesController: {
|
|
preferences: {
|
|
showTestNetworks: false,
|
|
},
|
|
},
|
|
NetworkController: {
|
|
provider: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
TransactionController: {
|
|
transactions: {
|
|
abc123: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
},
|
|
CachedBalancesController: {
|
|
cachedBalances: {
|
|
'0x1': {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
[TEST_CHAINS[0]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x1',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
[TEST_CHAINS[1]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(
|
|
newStorage.data.PreferencesController.preferences.showTestNetworks,
|
|
).toBe(true);
|
|
});
|
|
|
|
it('should leave showTestNetworks false if there is no evidence of test network usage', async () => {
|
|
const oldStorage = {
|
|
meta: {},
|
|
data: {
|
|
PreferencesController: {
|
|
preferences: {
|
|
showTestNetworks: false,
|
|
},
|
|
},
|
|
NetworkController: {
|
|
provider: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
TransactionController: {
|
|
transactions: {
|
|
abc123: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
},
|
|
CachedBalancesController: {
|
|
cachedBalances: {
|
|
'0x1': {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x10',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x20',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x30',
|
|
},
|
|
[TEST_CHAINS[0]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
[TEST_CHAINS[1]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(
|
|
newStorage.data.PreferencesController.preferences.showTestNetworks,
|
|
).toBe(false);
|
|
});
|
|
|
|
it('should leave showTestNetworks true if it was true but there is no evidence of test network usage', async () => {
|
|
const oldStorage = {
|
|
meta: {},
|
|
data: {
|
|
PreferencesController: {
|
|
preferences: {
|
|
showTestNetworks: true,
|
|
},
|
|
},
|
|
NetworkController: {
|
|
provider: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
TransactionController: {
|
|
transactions: {
|
|
abc123: {
|
|
chainId: 'not a test net',
|
|
},
|
|
},
|
|
},
|
|
CachedBalancesController: {
|
|
cachedBalances: {
|
|
'0x1': {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x10',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x20',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x30',
|
|
},
|
|
[TEST_CHAINS[0]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
[TEST_CHAINS[1]]: {
|
|
'0x027d4ae98b79d0c52918bab4c3170bea701fb8ab': '0x0',
|
|
'0x2f318c334780961fb129d2a6c30d0763d9a5c970': '0x0',
|
|
'0x7a46ce51fbbb29c34aea1fe9833c27b5d2781925': '0x0',
|
|
},
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
const newStorage = await migration67.migrate(oldStorage);
|
|
expect(
|
|
newStorage.data.PreferencesController.preferences.showTestNetworks,
|
|
).toBe(true);
|
|
});
|
|
});
|
|
|