All files / src/app/core/store/customer/sso-registration sso-registration.reducer.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 3/3
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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 3723x       23x               23x           23x       1x             1x         1x    
import { createReducer, on } from '@ngrx/store';
 
import { HttpError } from 'ish-core/models/http-error/http-error.model';
 
import { cancelRegistration, registerFailure, registerSuccess } from './sso-registration.actions';
 
export interface SsoRegistrationState {
  registered: boolean;
  cancelled: boolean;
  error: HttpError;
}
 
const initialState: SsoRegistrationState = {
  registered: false,
  cancelled: false,
  error: undefined,
};
 
export const ssoRegistrationReducer = createReducer(
  initialState,
  on(
    registerSuccess,
    (state: SsoRegistrationState): SsoRegistrationState => ({
      ...state,
      registered: true,
    })
  ),
  on(
    registerFailure,
    (state: SsoRegistrationState, { payload: { error } }): SsoRegistrationState => ({
      ...state,
      error,
    })
  ),
  on(cancelRegistration, (state: SsoRegistrationState): SsoRegistrationState => ({ ...state, cancelled: true }))
);