2023-10-31 09:23:37 -05:00
|
|
|
import { FolderDTO, FolderState } from 'app/types';
|
2022-04-22 08:33:13 -05:00
|
|
|
|
|
|
|
import { reducerTester } from '../../../../test/core/redux/reducerTester';
|
|
|
|
|
2023-10-31 09:23:37 -05:00
|
|
|
import { folderReducer, initialState, loadFolder, setFolderTitle } from './reducers';
|
2018-09-12 05:18:24 -05:00
|
|
|
|
2018-09-13 00:30:27 -05:00
|
|
|
function getTestFolder(): FolderDTO {
|
|
|
|
return {
|
|
|
|
id: 1,
|
|
|
|
title: 'test folder',
|
|
|
|
uid: 'asd',
|
|
|
|
url: 'url',
|
|
|
|
canSave: true,
|
2020-06-17 05:26:01 -05:00
|
|
|
canEdit: true,
|
|
|
|
canAdmin: true,
|
2022-03-03 08:18:27 -06:00
|
|
|
canDelete: true,
|
2018-09-13 00:30:27 -05:00
|
|
|
version: 0,
|
2023-05-16 07:54:44 -05:00
|
|
|
created: '',
|
|
|
|
createdBy: '',
|
|
|
|
hasAcl: false,
|
|
|
|
updated: '',
|
|
|
|
updatedBy: '',
|
2018-09-13 00:30:27 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2018-09-12 05:18:24 -05:00
|
|
|
describe('folder reducer', () => {
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when loadFolder is dispatched', () => {
|
2018-09-14 00:47:33 -05:00
|
|
|
it('should load folder and set hasChanged to false', () => {
|
2020-01-13 01:03:22 -06:00
|
|
|
reducerTester<FolderState>()
|
|
|
|
.givenReducer(folderReducer, { ...initialState, hasChanged: true })
|
|
|
|
.whenActionIsDispatched(loadFolder(getTestFolder()))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialState,
|
|
|
|
hasChanged: false,
|
|
|
|
...getTestFolder(),
|
|
|
|
});
|
2018-09-14 00:47:33 -05:00
|
|
|
});
|
2018-09-13 00:30:27 -05:00
|
|
|
});
|
2018-09-12 05:18:24 -05:00
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('when setFolderTitle is dispatched', () => {
|
|
|
|
describe('and title has length', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<FolderState>()
|
|
|
|
.givenReducer(folderReducer, { ...initialState })
|
|
|
|
.whenActionIsDispatched(setFolderTitle('ready'))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialState,
|
|
|
|
hasChanged: true,
|
|
|
|
title: 'ready',
|
|
|
|
});
|
|
|
|
});
|
2018-09-14 00:47:33 -05:00
|
|
|
});
|
|
|
|
|
2020-01-13 01:03:22 -06:00
|
|
|
describe('and title has no length', () => {
|
|
|
|
it('then state should be correct', () => {
|
|
|
|
reducerTester<FolderState>()
|
|
|
|
.givenReducer(folderReducer, { ...initialState })
|
|
|
|
.whenActionIsDispatched(setFolderTitle(''))
|
|
|
|
.thenStateShouldEqual({
|
|
|
|
...initialState,
|
|
|
|
hasChanged: false,
|
|
|
|
title: '',
|
|
|
|
});
|
|
|
|
});
|
2018-09-14 00:47:33 -05:00
|
|
|
});
|
2020-01-13 01:03:22 -06:00
|
|
|
});
|
2018-09-12 05:18:24 -05:00
|
|
|
});
|