Fix fetch and ethquery mocks in integration tests

feature/default_network_editable
Dan Miller 6 years ago
parent 581128503c
commit b481497246
  1. 13
      test/integration/lib/confirm-sig-requests.js
  2. 11
      test/integration/lib/currency-localization.js
  3. 3
      test/integration/lib/send-new-ui.js
  4. 11
      test/integration/lib/tx-list-items.js

@ -15,16 +15,25 @@ QUnit.test('successful confirmation of sig requests', (assert) => {
}) })
}) })
global.ethQuery = global.ethQuery || {}
async function runConfirmSigRequestsTest (assert, done) { async function runConfirmSigRequestsTest (assert, done) {
const selectState = await queryAsync($, 'select') const selectState = await queryAsync($, 'select')
selectState.val('confirm sig requests') selectState.val('confirm sig requests')
reactTriggerChange(selectState[0]) reactTriggerChange(selectState[0])
const realFetch = window.fetch.bind(window)
global.fetch = (...args) => { global.fetch = (...args) => {
if (args[0].match(/chromeextensionmm/)) { if (args[0] === 'https://ethgasstation.info/json/ethgasAPI.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasBasic)) })
} else if (args[0] === 'https://ethgasstation.info/json/predictTable.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasPredictTable)) })
} else if (args[0] === 'https://dev.blockscale.net/api/gasexpress.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.gasExpress)) })
} else if (args[0].match(/chromeextensionmm/)) {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) }) return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) })
} }
return window.fetch(...args) return realFetch.fetch(...args)
} }
const pendingRequestItem = $.find('.transaction-list-item .transaction-list-item__grid') const pendingRequestItem = $.find('.transaction-list-item .transaction-list-item__grid')

@ -21,11 +21,18 @@ async function runCurrencyLocalizationTest (assert, done) {
const selectState = await queryAsync($, 'select') const selectState = await queryAsync($, 'select')
selectState.val('currency localization') selectState.val('currency localization')
const realFetch = window.fetch.bind(window)
global.fetch = (...args) => { global.fetch = (...args) => {
if (args[0].match(/chromeextensionmm/)) { if (args[0] === 'https://ethgasstation.info/json/ethgasAPI.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasBasic)) })
} else if (args[0] === 'https://ethgasstation.info/json/predictTable.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasPredictTable)) })
} else if (args[0] === 'https://dev.blockscale.net/api/gasexpress.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.gasExpress)) })
} else if (args[0].match(/chromeextensionmm/)) {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) }) return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) })
} }
return window.fetch(...args) return realFetch.fetch(...args)
} }
await timeout(1000) await timeout(1000)

@ -25,6 +25,7 @@ global.ethereumProvider = {}
async function runSendFlowTest (assert, done) { async function runSendFlowTest (assert, done) {
const tempFetch = global.fetch const tempFetch = global.fetch
const realFetch = window.fetch.bind(window)
global.fetch = (...args) => { global.fetch = (...args) => {
if (args[0] === 'https://ethgasstation.info/json/ethgasAPI.json') { if (args[0] === 'https://ethgasstation.info/json/ethgasAPI.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasBasic)) }) return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasBasic)) })
@ -35,7 +36,7 @@ async function runSendFlowTest (assert, done) {
} else if (args[0].match(/chromeextensionmm/)) { } else if (args[0].match(/chromeextensionmm/)) {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) }) return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) })
} }
return window.fetch(...args) return realFetch.fetch(...args)
} }
console.log('*** start runSendFlowTest') console.log('*** start runSendFlowTest')

@ -26,11 +26,18 @@ async function runTxListItemsTest (assert, done) {
selectState.val('tx list items') selectState.val('tx list items')
reactTriggerChange(selectState[0]) reactTriggerChange(selectState[0])
const realFetch = window.fetch.bind(window)
global.fetch = (...args) => { global.fetch = (...args) => {
if (args[0].match(/chromeextensionmm/)) { if (args[0] === 'https://ethgasstation.info/json/ethgasAPI.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasBasic)) })
} else if (args[0] === 'https://ethgasstation.info/json/predictTable.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.ethGasPredictTable)) })
} else if (args[0] === 'https://dev.blockscale.net/api/gasexpress.json') {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.gasExpress)) })
} else if (args[0].match(/chromeextensionmm/)) {
return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) }) return Promise.resolve({ json: () => Promise.resolve(JSON.parse(fetchMockResponses.metametrics)) })
} }
return window.fetch(...args) return realFetch.fetch(...args)
} }
const metamaskLogo = await queryAsync($, '.app-header__logo-container') const metamaskLogo = await queryAsync($, '.app-header__logo-container')

Loading…
Cancel
Save