JimmyMow
6 years ago
committed by
GitHub
3 changed files with 59 additions and 1 deletions
@ -0,0 +1,54 @@ |
|||
import ZapController from 'lib/zap/controller' |
|||
import LndConfig from 'lib/lnd/config' |
|||
|
|||
jest.mock('lib/lnd/lightning') |
|||
const Lightning = require('lib/lnd/lightning') |
|||
|
|||
describe('ZapController', function() { |
|||
describe('Constructor', () => { |
|||
beforeAll(() => { |
|||
this.controller = new ZapController() |
|||
}) |
|||
|
|||
describe('initial values', () => { |
|||
it('should set the "lndConfig" property to a new LndConfig instance', () => { |
|||
expect(this.controller.lndConfig).toBeInstanceOf(LndConfig) |
|||
}) |
|||
it('should set the "splashScreenTime" property to 500', () => { |
|||
expect(this.controller.splashScreenTime).toEqual(500) |
|||
}) |
|||
it('should set the "mainWindow" property to undefined', () => { |
|||
expect(this.controller.mainWindow).toBeUndefined() |
|||
}) |
|||
}) |
|||
}) |
|||
|
|||
describe('.startLightningWallet', () => { |
|||
describe('successful connection', () => { |
|||
beforeEach(() => { |
|||
Lightning.mockImplementation(() => ({ |
|||
subscribe: jest.fn(), |
|||
connect: jest.fn().mockResolvedValue() |
|||
})) |
|||
this.controller = new ZapController() |
|||
}) |
|||
it('should resolve with undefined', async () => { |
|||
await expect(this.controller.startLightningWallet()).resolves.toBeUndefined() |
|||
expect(this.controller.lightning.subscribe).toHaveBeenCalled() |
|||
}) |
|||
}) |
|||
describe('unsuccessful connection', () => { |
|||
beforeEach(() => { |
|||
Lightning.mockImplementation(() => ({ |
|||
subscribe: jest.fn(), |
|||
connect: jest.fn().mockRejectedValue(new Error('Async error')) |
|||
})) |
|||
this.controller = new ZapController() |
|||
}) |
|||
it('should reject an error', async () => { |
|||
await expect(this.controller.startLightningWallet()).rejects.toThrow('Async error') |
|||
expect(this.controller.lightning.subscribe).not.toHaveBeenCalled() |
|||
}) |
|||
}) |
|||
}) |
|||
}) |
Loading…
Reference in new issue