summaryrefslogtreecommitdiffhomepage
path: root/test/mocks
diff options
context:
space:
mode:
authorErik Larkö <erik@mullvad.net>2017-03-25 20:17:19 +0800
committerErik Larkö <erik@mullvad.net>2017-04-03 01:44:33 +0800
commit59948d8c573daae1fadbecb09df5da83b337d3df (patch)
tree427324f5ebdd664ffa4fb3f6a5ee2b148ccda040 /test/mocks
parenteeec205e2e51a05dde7ece5ed0e83d186abed5aa (diff)
downloadmullvadvpn-59948d8c573daae1fadbecb09df5da83b337d3df.tar.xz
mullvadvpn-59948d8c573daae1fadbecb09df5da83b337d3df.zip
Mock backend
Diffstat (limited to 'test/mocks')
-rw-r--r--test/mocks/backend.js32
1 files changed, 27 insertions, 5 deletions
diff --git a/test/mocks/backend.js b/test/mocks/backend.js
index bac5fac19e..3011c8e26b 100644
--- a/test/mocks/backend.js
+++ b/test/mocks/backend.js
@@ -1,6 +1,7 @@
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import Backend from '../../app/lib/backend';
+import Ipc from '../../app/lib/ipc';
import { defaultServer } from '../../app/config';
import { LoginState, ConnectionState } from '../../app/enums';
@@ -29,13 +30,34 @@ export const mockState = () => {
};
};
-export const mockBackend = (store) => {
- const backend = new Backend();
+export const mockBackend = (backendData) => {
+ return new Backend(mockIpc(backendData));
+};
+
+const mockIpc = (backendData) => {
+ const ipc = new Ipc();
+ ipc.send = (action, data) => {
+ return new Promise((resolve, reject) => {
- // patch backend
- backend.syncWithReduxStore(store);
+ switch (action) {
+ case 'login':
+ return resolve(backendData.users[data.accountNumber]);
+ case 'logout':
+ case 'cancelConnection':
+ case 'connect':
+ case 'disconnect':
+ return resolve();
- return backend;
+ case 'getLocation':
+ return resolve({});
+ case 'getConnectionInfo':
+ return resolve({});
+ }
+
+ reject('Unknown action: ' + action);
+ });
+ };
+ return ipc;
};
export const filterMinorActions = (actions) => {