57 lines
1.8 KiB
TypeScript
57 lines
1.8 KiB
TypeScript
|
// Copyright 2021 Signal Messenger, LLC
|
||
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||
|
|
||
|
import { assert } from 'chai';
|
||
|
import { reducer as rootReducer } from '../../../state/reducer';
|
||
|
import { noopAction } from '../../../state/ducks/noop';
|
||
|
import type { StateType } from '../../../state/reducer';
|
||
|
import type { PreferredReactionsStateType } from '../../../state/ducks/preferredReactions';
|
||
|
|
||
|
import { getIsCustomizingPreferredReactions } from '../../../state/selectors/preferredReactions';
|
||
|
|
||
|
describe('both/state/selectors/preferredReactions', () => {
|
||
|
const getEmptyRootState = (): StateType =>
|
||
|
rootReducer(undefined, noopAction());
|
||
|
|
||
|
const getRootState = (preferredReactions: PreferredReactionsStateType) => ({
|
||
|
...getEmptyRootState(),
|
||
|
preferredReactions,
|
||
|
});
|
||
|
|
||
|
describe('getIsCustomizingPreferredReactions', () => {
|
||
|
it('returns false if the modal is closed', () => {
|
||
|
assert.isFalse(getIsCustomizingPreferredReactions(getEmptyRootState()));
|
||
|
});
|
||
|
|
||
|
it('returns true if the modal is open', () => {
|
||
|
assert.isTrue(
|
||
|
getIsCustomizingPreferredReactions(
|
||
|
getRootState({
|
||
|
customizePreferredReactionsModal: {
|
||
|
draftPreferredReactions: [
|
||
|
'sparkles',
|
||
|
'sparkle',
|
||
|
'sparkler',
|
||
|
'shark',
|
||
|
'sparkling_heart',
|
||
|
'parking',
|
||
|
],
|
||
|
originalPreferredReactions: [
|
||
|
'blue_heart',
|
||
|
'thumbsup',
|
||
|
'thumbsdown',
|
||
|
'joy',
|
||
|
'open_mouth',
|
||
|
'cry',
|
||
|
],
|
||
|
selectedDraftEmojiIndex: undefined,
|
||
|
isSaving: false as const,
|
||
|
hadSaveError: false,
|
||
|
},
|
||
|
})
|
||
|
)
|
||
|
);
|
||
|
});
|
||
|
});
|
||
|
});
|