hunk.code_window: import org.junit.jupiter.api.extension.TestWatcher;
   import java.io.FileWriter;
   import java.io.IOException;
   import java.util.ArrayList;
   import java.util.List;
   /**
    * The TestWatcher interface is used to react to the execution of tests.
  
hunk.labels: keep keep keep keep replace replace keep keep keep
hunk.after_edit: import java.util.Collection;
   import java.util.TreeSet;
  
hunk.file_path: app/server/appsmith-server/src/test/java/com/appsmith/server/TestResultLoggerExtension.java
hunk.type: replace
file: import { createReducer } from "utils/ReducerUtils";
  import type { ReduxAction } from "@appsmith/constants/ReduxActionConstants";
  import { ReduxActionTypes } from "@appsmith/constants/ReduxActionConstants";
  import type { SetCrudInfoModalOpenPayload } from "actions/crudInfoModalActions";
  
  const initialState: CrudInfoModalReduxState = {
    crudInfoModalOpen: false,
    generateCRUDSuccessInfo: null,
  };
  
  const crudInfoModalReducer = createReducer(initialState, {
    [ReduxActionTypes.SET_CRUD_INFO_MODAL_OPEN]: (
      state: CrudInfoModalReduxState,
      action: ReduxAction<SetCrudInfoModalOpenPayload>,
    ) => {
      return {
        ...state,
        crudInfoModalOpen: action.payload.open,
        generateCRUDSuccessInfo: action.payload.generateCRUDSuccessInfo,
      };
    },
  });
  
  export interface GenerateCRUDSuccessInfoData {
    successImageUrl: string;
    successMessage: string;
  }
  
  export interface CrudInfoModalReduxState {
    crudInfoModalOpen: boolean;
    generateCRUDSuccessInfo: GenerateCRUDSuccessInfoData | null;
  }
  
  export default crudInfoModalReducer;
  