summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@codeispoetry.ru>2017-03-01 12:18:28 +0000
committerAndrej Mihajlov <and@codeispoetry.ru>2017-03-01 12:18:28 +0000
commit61b84e23036b3dbd032ce65b2a6021f531eaed03 (patch)
tree358dbc4c5225db778152f305707d5b70a0b95453 /test
parent4c4385d6046f0540d5520e38d5a5ea8c9cb709b3 (diff)
downloadmullvadvpn-61b84e23036b3dbd032ce65b2a6021f531eaed03.tar.xz
mullvadvpn-61b84e23036b3dbd032ce65b2a6021f531eaed03.zip
Move mock helpers to test/support
Diffstat (limited to 'test')
-rw-r--r--test/actions.spec.js51
-rw-r--r--test/support.js40
2 files changed, 49 insertions, 42 deletions
diff --git a/test/actions.spec.js b/test/actions.spec.js
index b7f7874465..b80db98a05 100644
--- a/test/actions.spec.js
+++ b/test/actions.spec.js
@@ -1,50 +1,11 @@
import { expect } from 'chai';
-import configureMockStore from 'redux-mock-store';
-import thunk from 'redux-thunk';
+
+import { filterIpUpdateActions, mockBackend, mockState, mockStore } from './support';
import Backend from '../app/lib/backend';
import userActions from '../app/actions/user';
import connectActions from '../app/actions/connect';
import mapBackendEventsToReduxActions from '../app/lib/backend-redux-actions';
-import { LoginState, ConnectionState, defaultServer } from '../app/constants';
-
-const middlewares = [ thunk ];
-const mockStore = configureMockStore(middlewares);
-const mockState = () => {
- return {
- user: {
- account: null,
- status: LoginState.none,
- error: null
- },
- connect: {
- status: ConnectionState.disconnected,
- serverAddress: null,
- clientIp: null
- },
- settings: {
- autoSecure: false,
- preferredServer: defaultServer
- }
- };
-};
-
-const mockBackend = (store) => {
- const backend = new Backend();
-
- // patch backend
- backend.syncWithReduxStore(store);
-
- // map events to redux actions for testing
- mapBackendEventsToReduxActions(backend, store);
-
- return backend;
-};
-
-const filterIpUpdateActions = (actions) => {
- return actions.filter((action) => {
- return !(action.type === 'CONNECTION_CHANGE' && action.payload.clientIp);
- });
-};
+import { LoginState, ConnectionState } from '../app/constants';
describe('actions', function() {
this.timeout(10000);
@@ -57,6 +18,7 @@ describe('actions', function() {
const store = mockStore(mockState());
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.login, () => {
const storeActions = filterIpUpdateActions(store.getActions());
@@ -82,6 +44,7 @@ describe('actions', function() {
const store = mockStore(state);
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.logout, () => {
const storeActions = filterIpUpdateActions(store.getActions());
@@ -108,6 +71,7 @@ describe('actions', function() {
const store = mockStore(state);
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.connect, () => {
const storeActions = filterIpUpdateActions(store.getActions());
@@ -134,6 +98,7 @@ describe('actions', function() {
const store = mockStore(state);
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.connect, () => {
const storeActions = filterIpUpdateActions(store.getActions());
@@ -163,6 +128,7 @@ describe('actions', function() {
const store = mockStore(state);
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.disconnect, () => {
const storeActions = filterIpUpdateActions(store.getActions());
@@ -193,6 +159,7 @@ describe('actions', function() {
const store = mockStore(state);
const backend = mockBackend(store);
+ mapBackendEventsToReduxActions(backend, store);
backend.once(Backend.EventType.disconnect, () => {
const storeActions = filterIpUpdateActions(store.getActions());
diff --git a/test/support.js b/test/support.js
new file mode 100644
index 0000000000..e60de376e4
--- /dev/null
+++ b/test/support.js
@@ -0,0 +1,40 @@
+import configureMockStore from 'redux-mock-store';
+import thunk from 'redux-thunk';
+import Backend from '../app/lib/backend';
+import { LoginState, ConnectionState, defaultServer } from '../app/constants';
+
+const middlewares = [ thunk ];
+export const mockStore = configureMockStore(middlewares);
+export const mockState = () => {
+ return {
+ user: {
+ account: null,
+ status: LoginState.none,
+ error: null
+ },
+ connect: {
+ status: ConnectionState.disconnected,
+ serverAddress: null,
+ clientIp: null
+ },
+ settings: {
+ autoSecure: false,
+ preferredServer: defaultServer
+ }
+ };
+};
+
+export const mockBackend = (store) => {
+ const backend = new Backend();
+
+ // patch backend
+ backend.syncWithReduxStore(store);
+
+ return backend;
+};
+
+export const filterIpUpdateActions = (actions) => {
+ return actions.filter((action) => {
+ return !(action.type === 'CONNECTION_CHANGE' && action.payload.clientIp);
+ });
+};