mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Implement usage of nock.
This commit is contained in:
parent
e42b35398b
commit
c82a494b4b
@ -288,29 +288,19 @@ ConfigManager.prototype.getCurrentFiat = function () {
|
|||||||
return ('fiatCurrency' in data) && data.fiatCurrency
|
return ('fiatCurrency' in data) && data.fiatCurrency
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigManager.prototype.updateConversionRate = function (mock = false, mockCurrency = 'USD') {
|
ConfigManager.prototype.updateConversionRate = function () {
|
||||||
var data = this.getData()
|
var data = this.getData()
|
||||||
if (!mock) {
|
return rp(`https://www.cryptonator.com/api/ticker/eth-${data.fiatCurrency}`)
|
||||||
return rp(`https://www.cryptonator.com/api/ticker/eth-${data.fiatCurrency}`)
|
.then((response) => {
|
||||||
.then((response) => {
|
const parsedResponse = JSON.parse(response)
|
||||||
const parsedResponse = JSON.parse(response)
|
this.setConversionPrice(parsedResponse.ticker.price)
|
||||||
this.setConversionPrice(parsedResponse.ticker.price)
|
this.setConversionDate(parsedResponse.timestamp)
|
||||||
this.setConversionDate(parsedResponse.timestamp)
|
}).catch((err) => {
|
||||||
}).catch((err) => {
|
console.error('Error in conversion.', err)
|
||||||
console.error('Error in conversion.', err)
|
this.setConversionPrice(0)
|
||||||
this.setConversionPrice(0)
|
this.setConversionDate('N/A')
|
||||||
this.setConversionDate('N/A')
|
})
|
||||||
})
|
|
||||||
} else {
|
|
||||||
return new Promise(function(resolve, reject) { resolve() }).then((response) => {
|
|
||||||
this.setConversionPrice('11.01')
|
|
||||||
this.setConversionDate(1472065924)
|
|
||||||
}).catch((err) => {
|
|
||||||
console.error('Error in conversion.', err)
|
|
||||||
this.setConversionPrice('11.01')
|
|
||||||
this.setConversionDate(1472065924)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigManager.prototype.setConversionPrice = function (price) {
|
ConfigManager.prototype.setConversionPrice = function (price) {
|
||||||
|
@ -108,6 +108,7 @@
|
|||||||
"mocha-eslint": "^2.1.1",
|
"mocha-eslint": "^2.1.1",
|
||||||
"mocha-jsdom": "^1.1.0",
|
"mocha-jsdom": "^1.1.0",
|
||||||
"mocha-sinon": "^1.1.5",
|
"mocha-sinon": "^1.1.5",
|
||||||
|
"nock": "^8.0.0",
|
||||||
"qs": "^6.2.0",
|
"qs": "^6.2.0",
|
||||||
"qunit": "^0.9.1",
|
"qunit": "^0.9.1",
|
||||||
"sinon": "^1.17.3",
|
"sinon": "^1.17.3",
|
||||||
|
@ -4,6 +4,7 @@ const STORAGE_KEY = 'metamask-persistance-key'
|
|||||||
var configManagerGen = require('../lib/mock-config-manager')
|
var configManagerGen = require('../lib/mock-config-manager')
|
||||||
var configManager
|
var configManager
|
||||||
const rp = require('request-promise')
|
const rp = require('request-promise')
|
||||||
|
const nock = require('nock')
|
||||||
|
|
||||||
describe('config-manager', function() {
|
describe('config-manager', function() {
|
||||||
|
|
||||||
@ -47,12 +48,15 @@ describe('config-manager', function() {
|
|||||||
describe('#updateConversionRate', function() {
|
describe('#updateConversionRate', function() {
|
||||||
it('should retrieve an update for ETH to USD and set it in memory', function(done) {
|
it('should retrieve an update for ETH to USD and set it in memory', function(done) {
|
||||||
this.timeout(15000)
|
this.timeout(15000)
|
||||||
|
var usdMock = nock('https://www.cryptonator.com')
|
||||||
|
.get('/api/ticker/eth-USD')
|
||||||
|
.reply(200, '{"ticker":{"base":"ETH","target":"USD","price":"11.02456145","volume":"44948.91745289","change":"-0.01472534"},"timestamp":1472072136,"success":true,"error":""}')
|
||||||
|
|
||||||
assert.equal(configManager.getConversionRate(), false)
|
assert.equal(configManager.getConversionRate(), false)
|
||||||
var promise = new Promise(
|
var promise = new Promise(
|
||||||
function (resolve, reject) {
|
function (resolve, reject) {
|
||||||
configManager.setCurrentFiat('USD')
|
configManager.setCurrentFiat('USD')
|
||||||
configManager.updateConversionRate(true, 'USD').then(function() {
|
configManager.updateConversionRate().then(function() {
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -71,10 +75,15 @@ describe('config-manager', function() {
|
|||||||
this.timeout(15000)
|
this.timeout(15000)
|
||||||
assert.equal(configManager.getConversionRate(), false)
|
assert.equal(configManager.getConversionRate(), false)
|
||||||
|
|
||||||
|
var usdMock = nock('https://www.cryptonator.com')
|
||||||
|
.get('/api/ticker/eth-JPY')
|
||||||
|
.reply(200, '{"ticker":{"base":"ETH","target":"JPY","price":"11.02456145","volume":"44948.91745289","change":"-0.01472534"},"timestamp":1472072136,"success":true,"error":""}')
|
||||||
|
|
||||||
|
|
||||||
var promise = new Promise(
|
var promise = new Promise(
|
||||||
function (resolve, reject) {
|
function (resolve, reject) {
|
||||||
configManager.setCurrentFiat('JPY')
|
configManager.setCurrentFiat('JPY')
|
||||||
configManager.updateConversionRate(true, 'JPY').then(function() {
|
configManager.updateConversionRate().then(function() {
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user