Katello/katello

View on GitHub
webpack/scenes/Subscriptions/Details/__tests__/SubscriptionDetailReducer.test.js

Summary

Maintainability
A
40 mins
Test Coverage
import * as types from '../SubscriptionDetailConstants';

import {
  initialState,
  loadingState,
  subDetails,
  successState,
} from './subscriptionDetails.fixtures';
import reducer from '../SubscriptionDetailReducer';

describe('subscriptions reducer', () => {
  it('should return the initial state', () => {
    expect(reducer(undefined, {})).toEqual(initialState);
  });

  it('should keep loading state on SUBSCRIPTION_DETAILS_REQUEST', () => {
    expect(reducer(initialState, {
      type: types.SUBSCRIPTION_DETAILS_REQUEST,
    })).toEqual(loadingState);
  });

  it('load subscription details on SUBSCRIPTION_DETAILS_SUCCESS', () => {
    expect(reducer(initialState, {
      type: types.SUBSCRIPTION_DETAILS_SUCCESS,
      response: subDetails,
    })).toEqual(successState);
  });

  it('load error on SUBSCRIPTION_DETAILS_FAILURE', () => {
    const error = 'nothing worked';
    expect(reducer(initialState, {
      type: types.SUBSCRIPTION_DETAILS_FAILURE,
      payload: {
        message: error,
      },
    })).toEqual({
      ...initialState,
      error,
    });
  });
});