aboutsummaryrefslogtreecommitdiffstats
path: root/test/unit/infura-controller-test.js
blob: c9f0e7587b6fc8b18e1e78d7d821d9a926df0e15 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
const assert = require('assert')
const sinon = require('sinon')
const InfuraController = require('../../app/scripts/controllers/infura')

describe('infura-controller', function () {
  let infuraController, sandbox, networkStatus
  const response = {'mainnet': 'degraded', 'ropsten': 'ok', 'kovan': 'ok', 'rinkeby': 'down'}

  before(async function () {
    infuraController = new InfuraController()
    sandbox = sinon.createSandbox()
    sinon.stub(infuraController, 'checkInfuraNetworkStatus').resolves(response)
    networkStatus = await infuraController.checkInfuraNetworkStatus()
  })

  after(function () {
    sandbox.restore()
  })

  describe('Network status queries', function () {

    describe('Mainnet', function () {
      it('should have Mainnet', function () {
        assert.equal(Object.keys(networkStatus)[0], 'mainnet')
      })

      it('should have a value for Mainnet status', function () {
        assert.equal(networkStatus.mainnet, 'degraded')
      })
    })

    describe('Ropsten', function () {
      it('should have Ropsten', function () {
        assert.equal(Object.keys(networkStatus)[1], 'ropsten')
      })

      it('should have a value for Ropsten status', function () {
        assert.equal(networkStatus.ropsten, 'ok')
      })
    })

    describe('Kovan', function () {
      it('should have Kovan', function () {
        assert.equal(Object.keys(networkStatus)[2], 'kovan')
      })

      it('should have a value for Kovan status', function () {
        assert.equal(networkStatus.kovan, 'ok')
      })
    })

    describe('Rinkeby', function () {
      it('should have Rinkeby', function () {
        assert.equal(Object.keys(networkStatus)[3], 'rinkeby')
      })

      it('should have a value for Rinkeby status', function () {
        assert.equal(networkStatus.rinkeby, 'down')
      })
    })
  })
})