Skip to content

Commit 1c78400

Browse files
committed
session [nfc]: Add reducer param for (already-passed) GlobalState
To see how this param is already passed, look for applyReducer('session', …) in src/boot/reducers.js.
1 parent 78fbc7e commit 1c78400

File tree

2 files changed

+31
-13
lines changed

2 files changed

+31
-13
lines changed

src/session/__tests__/sessionReducer-test.js

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@ describe('sessionReducer', () => {
2727
// global
2828
{ type: GOT_PUSH_TOKEN, pushToken: '456' },
2929
{ type: APP_ORIENTATION, orientation: 'LANDSCAPE' },
30-
].reduce(sessionReducer, eg.baseReduxState.session);
31-
expect(sessionReducer(prevState, eg.action.reset_account_data)).toEqual({
30+
].reduce(
31+
(state, action) => sessionReducer(state, action, eg.plusReduxState),
32+
eg.baseReduxState.session,
33+
);
34+
expect(sessionReducer(prevState, eg.action.reset_account_data, eg.plusReduxState)).toEqual({
3235
...prevState,
3336
...initialPerAccountSessionState,
3437
});
@@ -37,14 +40,14 @@ describe('sessionReducer', () => {
3740

3841
test('DEAD_QUEUE', () => {
3942
const state = deepFreeze({ ...baseState, loading: true });
40-
const newState = sessionReducer(state, deepFreeze({ type: DEAD_QUEUE }));
43+
const newState = sessionReducer(state, deepFreeze({ type: DEAD_QUEUE }), eg.plusReduxState);
4144
expect(newState).toEqual({ ...baseState, loading: false });
4245
});
4346

4447
test('REGISTER_COMPLETE', () => {
4548
const state = deepFreeze({ ...baseState, loading: true });
4649
const action = eg.mkActionRegisterComplete({ queue_id: '100' });
47-
const newState = sessionReducer(state, action);
50+
const newState = sessionReducer(state, action, eg.plusReduxState);
4851
expect(newState).toEqual({
4952
...baseState,
5053
loading: false,
@@ -55,45 +58,56 @@ describe('sessionReducer', () => {
5558
test('APP_ONLINE', () => {
5659
const state = deepFreeze({ ...baseState, isOnline: false });
5760
const action = deepFreeze({ type: APP_ONLINE, isOnline: true });
58-
const newState = sessionReducer(state, action);
61+
const newState = sessionReducer(state, action, eg.plusReduxState);
5962
expect(newState).toEqual({ ...baseState, isOnline: true });
6063
});
6164

6265
test('REGISTER_ABORT', () => {
6366
const state = deepFreeze({ ...baseState, loading: true });
64-
const newState = sessionReducer(state, deepFreeze({ type: REGISTER_ABORT, reason: 'server' }));
67+
const newState = sessionReducer(
68+
state,
69+
deepFreeze({ type: REGISTER_ABORT, reason: 'server' }),
70+
eg.plusReduxState,
71+
);
6572
expect(newState).toEqual({ ...baseState, loading: false });
6673
});
6774

6875
test('REGISTER_START', () => {
6976
const state = deepFreeze({ ...baseState, loading: false });
70-
const newState = sessionReducer(state, deepFreeze({ type: REGISTER_START }));
77+
const newState = sessionReducer(state, deepFreeze({ type: REGISTER_START }), eg.plusReduxState);
7178
expect(newState).toEqual({ ...baseState, loading: true });
7279
});
7380

7481
test('APP_ORIENTATION', () => {
7582
const state = deepFreeze({ ...baseState, orientation: 'PORTRAIT' });
7683
const orientation = 'LANDSCAPE';
7784
const action = deepFreeze({ type: APP_ORIENTATION, orientation });
78-
expect(sessionReducer(state, action)).toEqual({ ...baseState, orientation });
85+
expect(sessionReducer(state, action, eg.plusReduxState)).toEqual({ ...baseState, orientation });
7986
});
8087

8188
test('GOT_PUSH_TOKEN', () => {
8289
const pushToken = 'pushToken';
8390
const action = deepFreeze({ type: GOT_PUSH_TOKEN, pushToken });
84-
expect(sessionReducer(baseState, action)).toEqual({ ...baseState, pushToken });
91+
expect(sessionReducer(baseState, action, eg.plusReduxState)).toEqual({
92+
...baseState,
93+
pushToken,
94+
});
8595
});
8696

8797
test('TOGGLE_OUTBOX_SENDING', () => {
8898
const state = deepFreeze({ ...baseState, outboxSending: false });
8999
expect(
90-
sessionReducer(state, deepFreeze({ type: TOGGLE_OUTBOX_SENDING, sending: true })),
100+
sessionReducer(
101+
state,
102+
deepFreeze({ type: TOGGLE_OUTBOX_SENDING, sending: true }),
103+
eg.plusReduxState,
104+
),
91105
).toEqual({ ...baseState, outboxSending: true });
92106
});
93107

94108
test('DISMISS_SERVER_COMPAT_NOTICE', () => {
95109
const action = deepFreeze({ type: DISMISS_SERVER_COMPAT_NOTICE });
96-
expect(sessionReducer(baseState, action)).toEqual({
110+
expect(sessionReducer(baseState, action, eg.plusReduxState)).toEqual({
97111
...baseState,
98112
hasDismissedServerCompatNotice: true,
99113
});

src/session/sessionReducer.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
/* @flow strict-local */
2+
import type { GlobalState } from '../reduxTypes';
23
import type { Orientation, Action } from '../types';
34
import {
45
REHYDRATE,
@@ -134,8 +135,11 @@ const initialState: SessionState = {
134135
...initialPerAccountSessionState,
135136
};
136137

137-
// eslint-disable-next-line default-param-last
138-
export default (state: SessionState = initialState, action: Action): SessionState => {
138+
export default (
139+
state: SessionState = initialState, // eslint-disable-line default-param-last
140+
action: Action,
141+
globalState: GlobalState,
142+
): SessionState => {
139143
switch (action.type) {
140144
case DEAD_QUEUE:
141145
return {

0 commit comments

Comments
 (0)