diff options
| author | Erik Larkö <erik@mullvad.net> | 2017-07-03 17:18:35 +0200 |
|---|---|---|
| committer | Erik Larkö <erik@mullvad.net> | 2017-07-07 09:47:39 +0200 |
| commit | 3bb382007158db2c11c390bdde4efceffe861575 (patch) | |
| tree | 45cfbec02378e55c7bb9e5a0ebbb98da1a5150d7 /test/mocks | |
| parent | db78c15f3445899bc0760bfea5194ae1d7896f47 (diff) | |
| download | mullvadvpn-3bb382007158db2c11c390bdde4efceffe861575.tar.xz mullvadvpn-3bb382007158db2c11c390bdde4efceffe861575.zip | |
Add tests for the notifcation states AND add the getState endpoint. No tests for it though
Diffstat (limited to 'test/mocks')
| -rw-r--r-- | test/mocks/ipc.js | 84 |
1 files changed, 52 insertions, 32 deletions
diff --git a/test/mocks/ipc.js b/test/mocks/ipc.js index bb1a872454..3225fe9ed9 100644 --- a/test/mocks/ipc.js +++ b/test/mocks/ipc.js @@ -1,37 +1,57 @@ // @flow -import type { IpcFacade } from '../../app/lib/ipc-facade'; +import type { IpcFacade, BackendState } from '../../app/lib/ipc-facade'; -export function newMockIpc() { - return Object.assign({}, mockIpc); +interface MockIpc { + sendNewState: (BackendState) => void; + -getAccountData: *; + -connect: *; } -const mockIpc: IpcFacade = { +export function newMockIpc() { + + const stateListeners = []; - getAccountData: () => { - return new Promise(r => r({ - paid_until: '', - })); - }, - setAccount: () => { - return new Promise(r => r()); - }, - setCountry: () => { - return new Promise(r => r()); - }, - connect: () => { - return new Promise(r => r()); - }, - disconnect: () => { - return new Promise(r => r()); - }, - getIp: () => { - return new Promise(r => r('1.2.3.4')); - }, - getLocation: () => { - return new Promise(r => r({ - city: '', - country: '', - latlong: [], - })); - }, -}; + const mockIpc: IpcFacade & MockIpc = { + + getAccountData: () => { + return new Promise(r => r({ + paid_until: '', + })); + }, + setAccount: () => { + return new Promise(r => r()); + }, + setCountry: () => { + return new Promise(r => r()); + }, + connect: () => { + return new Promise(r => r()); + }, + disconnect: () => { + return new Promise(r => r()); + }, + getIp: () => { + return new Promise(r => r('1.2.3.4')); + }, + getLocation: () => { + return new Promise(r => r({ + city: '', + country: '', + latlong: [], + })); + }, + getState: () => { + return new Promise(r => r('unsecured')); + }, + registerStateListener: (listener: (BackendState) => void) => { + stateListeners.push(listener); + }, + sendNewState: (state: BackendState) => { + for(const l of stateListeners) { + l(state); + } + }, + }; + + return mockIpc; +} |
