All files / src/app/extensions/copilot-embedded/store/copilot-embedded-chat copilot-embedded-chat.reducer.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 2/2
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 224x   4x       4x   4x             4x   5x   3x    
import { createReducer, on } from '@ngrx/store';
 
import { resetUserData } from 'ish-core/store/customer/user';
 
import { CopilotEmbeddedChat } from '../../models/copilot-embedded-chat/copilot-embedded-chat.model';
 
import { copilotEmbeddedChatActions } from './copilot-embedded-chat.actions';
 
const initialState: CopilotEmbeddedChat = {
  chatflowid: undefined,
  sessionId: undefined,
  chatId: undefined,
  messages: [],
};
 
export const copilotEmbeddedChatReducer = createReducer(
  initialState,
  on(copilotEmbeddedChatActions.setCopilotEmbeddedChat, (_, action): CopilotEmbeddedChat => action.payload.chat),
  // the logout clears the chat so the next user of the browser cannot see it
  on(copilotEmbeddedChatActions.resetCopilotEmbeddedChat, resetUserData, (): CopilotEmbeddedChat => initialState)
);