All files / src/redux/slices/auth verification.ts

42.85% Statements 3/7
100% Branches 0/0
0% Functions 0/3
42.85% Lines 3/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 37 38 39 40 41                        540x         540x                                         540x    
import { userVerificationSteps } from "@constants/constants";
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
 
type Keys = keyof typeof userVerificationSteps;
type VerificationStep = (typeof userVerificationSteps)[Keys];
type VerificationMethodSelected = "email" | "text" | null; //null means i already have a code
 
export interface VerificationState {
  currentVerificationStep: VerificationStep;
  methodSelected: VerificationMethodSelected;
}
 
const initialState: VerificationState = {
  currentVerificationStep: userVerificationSteps?.idle,
  methodSelected: "email",
};
 
const verificationSlice = createSlice({
  name: "verification",
  initialState,
  reducers: {
    setVerificationStep: (state, action: PayloadAction<VerificationStep>) => {
      state.currentVerificationStep = action.payload;
    },
    setMethodSelected: (
      state,
      action: PayloadAction<VerificationMethodSelected>,
    ) => {
      state.methodSelected = action.payload;
    },
    setVerificationState: (state, action: PayloadAction<VerificationState>) => {
      state.currentVerificationStep = action.payload.currentVerificationStep;
      state.methodSelected = action.payload.methodSelected;
    },
  },
});
 
export const { setVerificationStep, setMethodSelected, setVerificationState } =
  verificationSlice.actions;
export default verificationSlice.reducer;