Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

411
Vistas
"reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers

I'm writing a test for my component in react js to check if Download file comes after button is clicked. My project also includes redux. It is showing error "reducer" is a required argument, and must be a function or an object of functions that can be passed to combineReducers

test component

const initialStore={}
const store = configureStore(initialStore)

const MockComponent = () => {
  return (
    <Provider store={store}>
      <BrowserRouter>
        <ExpenseList />
      </BrowserRouter>
    </Provider>
  );
};

test('should render "Download file" when button is clicked', () => {
  render(<MockComponent />);
  const buttonElement = screen.getByRole("button");
  userEvent.click(buttonElement);

  const paraElement = screen.getByText(/download file/i);
  expect(paraElement).toBeInTheDocument();
});

Main component

const ExpenseList = () => {
  const [premiumBtn, setPremiumBtn] = useState(false);
  const listOfItems = useSelector(state=>state.expense.expenseItems)
  const amount = useSelector(state=>state.expense.amount)
  const dispatch=useDispatch()

  useEffect(() => {
   if(amount>10000){
     setPremiumBtn(true)
   }
  }, [amount]);
    const expenses = listOfItems.map((expense)=>{
        return(
           <ExpenseListShow
           key={expense.id}
           id={expense.id}
           amount={expense.amount}
           category={expense.category}
           description={expense.description}
           />
        )
    })
    const activatePremiumHandler=()=>{
      dispatch(expenseActions.activatePremium())
    }

  return (
    <div>
      {expenses}
      <p>Amount Spent: {amount}</p>
      {premiumBtn && <button onClick={activatePremiumHandler}>Activate Premium</button>}
    </div>
  );
}

export default ExpenseList;
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda