No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Probar Reducers

12/16
Recursos

Aportes 14

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Bueno el curso, pero hace falta hacerlo con Hooks! No todo es Redux. 😃

un ejemplo simple de como probrar REMOVE_FROM_CART action

test('REMOVE_FROM_CART', () => {
    const initialState = { cart: [ProductMock] };
    const action = { type: 'REMOVE_FROM_CART', payload: ProductMock };
    const expected = { cart: [] };

    expect(reducer(initialState, action)).toEqual(expected);
  });

esta prueba es importante para una aplicacion que estoy desarrollando Gracias Oscar, Gracias Platzi

una recomendación es crear los mocks de datos en tipo de archivo json, con eso garantizamos que al momento de revisar la cobertura va ignorar esos archivos

No estoy seguro de que sea necesario probar los reducers. Los que desarrollan Redux ya se encargaran de eso.

En todo caso sería probar que las actions que tenemos sean las correctas.

¿Qué opinan?

Mi código del REMOVE_FROM_CART

test('REMOVE_FROM_CART', () => {
    const initialState = {
      cart: [
        ProductMock,
      ],
    };
    const payload = ProductMock;
    const action = {
      type: 'REMOVE_FROM_CART',
      payload,
    };
    const expected = {
      cart: [],
    };
    expect(reducer(initialState, action)).toEqual(expected);
  });

Gracias por el curso sos d10s

Así quedó mi prueba de ‘REMOVE_FROM_CART’:

  test('REMOVE_FROM_CART', () => {
    const payload = ProductMock;
    const initialState = {
      cart: [ProductMock],
    };
    const action = {
      type: 'REMOVE_FROM_CART',
      payload,
    };
    const expected = {
      cart: [],
    };
    expect(reducer(initialState, action)).toEqual(expected);
  });```

Ah estado algo pesado el curso, pero ahí vamos 😄

El código de la clase con ambas acciones:

import reducer from '../../reducers';
import ProductMock from '../../__mocks__/ProductMock';

describe('Reducers', () => {
  test('Retornar Initial State', () => {
    expect(reducer({},'')).toEqual({});
  });

  test('ADD_TO_CART', () => {
    const initialState = {
      cart: [],
    };
    const action = {
      type: 'ADD_TO_CART',
      payload: ProviderMock,
    };
    const expected = {
      cart: [ ProductMock ],
    };
    expect(reducer(initialState, action)).toEqual(expected);
  });

  test('REMOVE_FROM_CART', () => {
    const initialState = {
      cart: []
    };
    const action = {
      type: 'REMOVE_FROM_CART',
      payload: ProductMock,
    };
    const expected = {
      cart: [],
    }
  });
});

it('Prueba de reducers remove', () => {
  const initialState = {
    cart: [],
  };
  const payload = ProductMock;
  const action = {
    type: 'REMOVE_FROM_CART',
    payload,
  };
  const expected = {
    cart: [],
  };
  expect(reducers(initialState, action)).toEqual(expected);
});```

Agradezco haber entendido Redux, antes de esta clase.

Acá mi implementación para REMOVE_FROM_CART como ejercicio complementario

  test('Remove from cart', () => {
    let payload = ProductMock;
    let initialState = {
      cart: []
    };
    let action = {
      type: 'REMOVE_FROM_CART',
      payload
    };
    let expected = {
      cart: []
    }
    expect(reducer(initialState, action)).toEqual(expected);
  });

Remover un Producto

test('REMOVE_TO_CART', () => {
        const initialState = {
            cart: [ProductMock]
        };
        const payload = ProductMock;
        const action = {
            type: 'REMOVE_FROM_CART',
            payload
        };
        const expected = {
            cart: [
            ]
        };
        expect(reducers(initialState, action)).toEqual(expected)
    })