2 * Copyright © 2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http: //www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
19 import { NAME, ASC, DESC } from 'features/catalog/catalogConstants';
20 import catalogReducer, { initialState } from 'features/catalog/catalogReducer';
21 import { updateWorkflow } from 'features/catalog/catalogActions';
23 describe('Catalog Reducer', () => {
37 id: 'c5b7ca1a0f7944bfa948b85b32c5f314',
40 versionStates: ['DRAFT'],
44 id: '221336ef3f1645c686bc81899368ac27',
47 versionStates: ['DRAFT'],
69 id: 'c5b7ca1a0f7944bfa948b85b32c5f314',
72 versionStates: ['DRAFT'],
76 id: '221336ef3f1645c686bc81899368ac27',
79 versionStates: ['DRAFT'],
85 it('returns the initial state', () => {
86 expect(catalogReducer(undefined, {})).toEqual(initialState);
89 it('should replace results when page is first', () => {
91 catalogReducer(state, updateWorkflow({ sort, ...dataPayload }))
99 it('should add results when page is not first', () => {
103 updateWorkflow({ sort, ...{ ...dataPayload, offset: 2 } })
106 expect.arrayContaining([...dataPayload.items, ...state.items])