All files / src/containers/Impersonate reducer.js

0% Statements 0/15
0% Branches 0/12
0% Functions 0/2
0% Lines 0/11
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                                                     
/* eslint import/prefer-default-export: "off" */
import {
  POST_IMPERSONATE_REQUEST,
  POST_IMPERSONATE_SUCCESS,
  CLEAR_IMPERSONATE_DATA,
} from './actions';
import { Map } from 'immutable';
import ApiResponseHelper from 'domain/ApiResponseHelper';
import { combineReducers } from 'redux-immutable';
 
export default combineReducers({
  postedImpersonate,
});
 
function postedImpersonate(state = Map({}), action) {
  switch (action.type) {
    case POST_IMPERSONATE_REQUEST:
      return state.set('impersonate', ApiResponseHelper.create({ loading: true }));
    case POST_IMPERSONATE_SUCCESS:
      return state.set('impersonate', ApiResponseHelper.create(action.payload));
    case CLEAR_IMPERSONATE_DATA:
      return Map({});
    default:
      return state;
  }
}