aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/reducers/search.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/react/reducers/search.test.ts')
-rw-r--r--src/client/react/reducers/search.test.ts193
1 files changed, 0 insertions, 193 deletions
diff --git a/src/client/react/reducers/search.test.ts b/src/client/react/reducers/search.test.ts
deleted file mode 100644
index 5869b81..0000000
--- a/src/client/react/reducers/search.test.ts
+++ /dev/null
@@ -1,193 +0,0 @@
-(<any>window).USERS = [
- { type: 's', value: '18561' },
- { type: 's', value: '18562' },
- { type: 's', value: '18563' },
- { type: 's', value: '18564' },
- { type: 's', value: '18565' },
- { type: 's', value: '18566' },
- { type: 's', value: '18567' },
- { type: 's', value: '18568' },
- { type: 's', value: '18569' },
-];
-
-const deepFreeze = require('deep-freeze');
-const search = require('./search').default;
-const { inputChange, changeSelectedResult } = require('../actions/search');
-
-describe('reducers', () => {
- describe('search', () => {
- describe('SEARCH/INPUT_CHANGE', () => {
- it('Returns no results when nothing is typed in', () => {
- expect(search(undefined, inputChange(''))).toEqual({
- results: [],
- selectedResult: null,
- isExactMatch: false,
- });
- });
-
- it('Returns no results when a space is typed in', () => {
- expect(search(undefined, inputChange(' '))).toEqual({
- results: [],
- selectedResult: null,
- isExactMatch: false,
- });
- });
-
- it('Preforms a basic search, only returning four results', () => {
- expect(search(undefined, inputChange('18'))).toEqual({
- results: [
- 's/18561',
- 's/18562',
- 's/18563',
- 's/18564',
- ],
- selectedResult: null,
- isExactMatch: false,
- });
- });
-
- it('Selects the first result and sets isExactMatch to true when there is an exact match', () => {
- expect(search(undefined, inputChange('18561'))).toEqual({
- results: [
- 's/18561',
- ],
- selectedResult: 's/18561',
- isExactMatch: true,
- });
- });
- });
-
- describe('SEARCH/CHANGE_SELECTED_RESULT', () => {
- it('Does nothing when there are no results', () => {
- const prevState = {
- results: [],
- selectedResult: null,
- isExactMatch: false,
- };
-
- const actionPlus = changeSelectedResult(+1);
- const actionMin = changeSelectedResult(-1);
-
- deepFreeze([prevState, actionPlus, actionMin]);
-
- const nextStatePlus = search(prevState, actionPlus);
- const nextStateMin = search(prevState, actionMin);
- expect(nextStatePlus).toEqual(prevState);
- expect(nextStateMin).toEqual(prevState);
- });
-
- it('Does nothing when there is an exact match', () => {
- const prevState = {
- results: ['s/18561'],
- selectedResult: 's/18561',
- isExactMatch: true,
- };
-
- const actionPlus = changeSelectedResult(+1);
- const actionMin = changeSelectedResult(-1);
-
- deepFreeze([prevState, actionPlus, actionMin]);
-
- const nextStatePlus = search(prevState, actionPlus);
- const nextStateMin = search(prevState, actionMin);
-
- expect(nextStatePlus).toEqual(prevState);
- expect(nextStateMin).toEqual(prevState);
- });
-
- it('Switches to the correct selectedResult when no selected result is selected', () => {
- const prevState = {
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: null,
- isExactMatch: false,
- };
-
- const actionPlus = changeSelectedResult(+1);
- const actionMin = changeSelectedResult(-1);
-
- deepFreeze([prevState, actionPlus, actionMin]);
-
- const nextStatePlus = search(prevState, actionPlus);
- const nextStateMin = search(prevState, actionMin);
-
- expect(nextStatePlus).toEqual({
- ...prevState,
- selectedResult: 's/18561',
- });
- expect(nextStateMin).toEqual({
- ...prevState,
- selectedResult: 's/18563',
- });
- });
-
- it('Switches to the correct selectedResult when there is a selected result selected', () => {
- const prevState = {
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: 's/18562',
- isExactMatch: false,
- };
-
- const actionPlus = changeSelectedResult(+1);
- const actionMin = changeSelectedResult(-1);
-
- deepFreeze([prevState, actionPlus, actionMin]);
-
- const nextStatePlus = search(prevState, actionPlus);
- const nextStateMin = search(prevState, actionMin);
-
- expect(nextStatePlus).toEqual({
- ...prevState,
- selectedResult: 's/18563',
- });
- expect(nextStateMin).toEqual({
- ...prevState,
- selectedResult: 's/18561',
- });
- });
-
- it('Properly wraps arround when incrementing', () => {
- expect(search({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: 's/18563',
- isExactMatch: false,
- }, changeSelectedResult(+1))).toEqual({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: null,
- isExactMatch: false,
- });
-
- expect(search({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: null,
- isExactMatch: false,
- }, changeSelectedResult(+1))).toEqual({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: 's/18561',
- isExactMatch: false,
- });
- });
-
- it('Properly wraps arround when decrementing', () => {
- expect(search({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: 's/18561',
- isExactMatch: false,
- }, changeSelectedResult(-1))).toEqual({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: null,
- isExactMatch: false,
- });
-
- expect(search({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: null,
- isExactMatch: false,
- }, changeSelectedResult(-1))).toEqual({
- results: ['s/18561', 's/18562', 's/18563'],
- selectedResult: 's/18563',
- isExactMatch: false,
- });
- });
- });
- });
-});