Sha256: 338d9f9a0dede879bedc01d495845b6a4c54e28544e4a0870b87c5247d4a60aa

Contents?: true

Size: 1.92 KB

Versions: 23

Compression:

Stored size: 1.92 KB

Contents

import Immutable from 'seamless-immutable';
import { testReducerSnapshotWithFixtures } from '@theforeman/test';
import {
  TASKS_TABLE_ID,
  TASKS_TABLE_SET_SORT,
  TASKS_TABLE_SET_PAGINATION,
  SELECT_ROWS,
  UNSELECT_ROWS,
  UNSELECT_ALL_ROWS,
  UPDATE_CLICKED,
  SELECT_ALL_ROWS,
  OPEN_SELECT_ALL,
} from '../TasksTableConstants';
import reducer from '../TasksTableReducer';

const fixtures = {
  'should return the initial state': {},
  'should handle TASKS_TABLE_SUCCESS': {
    action: {
      type: `${TASKS_TABLE_ID}_SUCCESS`,
      response: {
        subtotal: 120,
        page: 3,
        per_page: 12,
      },
    },
  },
  'should handle TASKS_TABLE_SET_SORT': {
    action: {
      type: TASKS_TABLE_SET_SORT,
      payload: { by: 'a', order: 'b' },
    },
  },

  'should handle TASKS_TABLE_SET_PAGINATION': {
    action: {
      type: TASKS_TABLE_SET_PAGINATION,
      payload: { page: 4, perPage: 7 },
    },
  },
  'should handle SELECT_ROWS': {
    action: {
      type: SELECT_ROWS,
      payload: [1, 2, 3, 4, 5, 6, 7],
    },
  },
  'should handle UNSELECT_ROWS': {
    action: {
      type: UNSELECT_ROWS,
      payload: [{ id: 4 }],
    },
  },
  'should handle UNSELECT_ALL_ROWS': {
    action: {
      type: UNSELECT_ALL_ROWS,
    },
  },
  'should handle UPDATE_CLICKED': {
    action: {
      type: UPDATE_CLICKED,
      payload: { clicked: 'task' },
    },
  },
  'should handle SELECT_ALL_ROWS': {
    action: {
      type: SELECT_ALL_ROWS,
      payload: { clicked: 'task' },
    },
  },
  'should handle OPEN_SELECT_ALL': {
    action: {
      type: OPEN_SELECT_ALL,
    },
  },
  'should handle UNSELECT_ROWS with all rows selected': {
    state: Immutable({ tasksTableQuery: { allRowsSelected: true } }),
    action: {
      type: UNSELECT_ROWS,
      payload: { id: [4], results: [{ id: 3 }, { id: 4 }, { id: 5 }] },
    },
  },
};

describe('TasksTableReducer reducer', () =>
  testReducerSnapshotWithFixtures(reducer, fixtures));

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
foreman-tasks-4.1.4 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.1.3 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.6 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-5.0.0 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.1.2 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.1.1 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.0.1 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.1.0 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.5 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-4.0.0 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.4 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-2.0.3 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.3 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.2 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.1 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-3.0.0 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-2.0.2 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-1.1.3 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-1.1.2 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js
foreman-tasks-2.0.1 webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js