blob: 1588421098f6b00026f4a9231896b71c9b102c57 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import configureMockStore from 'redux-mock-store';
import thunk from 'redux-thunk';
import Backend from '../../app/lib/backend';
import { defaultServer } from '../../app/config';
import { LoginState, ConnectionState } from '../../app/enums';
// fetch is absent in node environment
// this will automatically import it into global scope
import fetch from 'isomorphic-fetch'; // eslint-disable-line no-unused-vars
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) => {
if(action.type === 'CONNECTION_CHANGE' && action.payload.clientIp) {
return false;
}
if(action.type === 'USER_LOGIN_CHANGE' && action.payload.city) {
return false;
}
return true;
});
};
|