summaryrefslogtreecommitdiffhomepage
path: root/test/mocks
diff options
context:
space:
mode:
authorErik Larkö <erik@mullvad.net>2017-07-03 17:18:35 +0200
committerErik Larkö <erik@mullvad.net>2017-07-07 09:47:39 +0200
commit3bb382007158db2c11c390bdde4efceffe861575 (patch)
tree45cfbec02378e55c7bb9e5a0ebbb98da1a5150d7 /test/mocks
parentdb78c15f3445899bc0760bfea5194ae1d7896f47 (diff)
downloadmullvadvpn-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.js84
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;
+}