Skip to content
Snippets Groups Projects
Select Git revision
  • 95c00402ce1d91160371135b1e606a444fcd16d2
  • master default protected
2 results

patternSlice.test.js

Blame
  • Forked from SOFT Core / SOFT 260 / React Redux Starter Code
    Source project has a limited visibility.
    patternSlice.test.js 3.54 KiB
    import patternSlice, {
      selectColorOne,
      selectColorTwo,
      selectColorThree,
      selectColorFour,
      showColorOne,
      showColorTwo,
      showColorThree,
      showColorFour,
      hideColorOne,
      hideColorTwo,
      hideColorThree,
      hideColorFour,
    } from './patternslice.js';
    
    describe('the initial state', () => {
      test('has no text', () => {
        const state = patternSlice.reducer(undefined, {});
        expect(state).toEqual({
          colorOne: '',
          colorTwo: '',
          colorThree: '',
          colorFour: '',
        });
      });
    });
    
    describe('selectColorOne', () => {
      test('reads the stored value', () => {
        const state = {
          colorOne: 'red',
          colorTwo: '',
          colorThree: '',
          colorFour: '',
        };
        const result = selectColorOne({ [patternSlice.name]: state });
        expect(result).toBe('red');
      });
    });
    
    describe('showColorOne', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorOne: '',
        }, showColorOne());
        expect(state).toEqual({
          colorOne: 'red',
        });
      });
    });
    
    describe('hideColorOne', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorOne: 'red',
        }, hideColorOne());
        expect(state).toEqual({
          colorOne: '',
        });
      });
    });
    describe('selectColorTwo', () => {
      test('reads the stored value', () => {
        const state = {
          colorOne: '',
          colorTwo: 'blue',
          colorThree: '',
          colorFour: '',
        };
        const result = selectColorTwo({ [patternSlice.name]: state });
        expect(result).toBe('blue');
      });
    });
    
    describe('showColorTwo', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorTwo: '',
        }, showColorTwo());
        expect(state).toEqual({
          colorTwo: 'blue',
        });
      });
    });
    describe('hideColorTwo', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorTwo: 'blue',
        }, hideColorTwo());
        expect(state).toEqual({
          colorTwo: '',
        });
      });
    });
    describe('selectColorThree', () => {
      test('reads the stored value', () => {
        const state = {
          colorOne: '',
          colorTwo: '',
          colorThree: 'yellow',
          colorFour: '',
        };
        const result = selectColorThree({ [patternSlice.name]: state });
        expect(result).toBe('yellow');
      });
    });
    describe('showColorThree', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorThree: '',
        }, showColorThree());
        expect(state).toEqual({
          colorThree: 'yellow',
        });
      });
    });
    describe('hideColorThree', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorThree: 'yellow',
        }, hideColorThree());
        expect(state).toEqual({
          colorThree: '',
        });
      });
    });
    describe('selectColorFour', () => {
      test('reads the stored value', () => {
        const state = {
          colorOne: '',
          colorTwo: '',
          colorThree: '',
          colorFour: 'green',
        };
        const result = selectColorFour({ [patternSlice.name]: state });
        expect(result).toBe('green');
      });
    });
    describe('showColorFour', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorFour: '',
        }, showColorFour());
        expect(state).toEqual({
          colorFour: 'green',
        });
      });
    });
    describe('hideColorFour', () => {
      test('overwrites the stored value', () => {
        const state = patternSlice.reducer({
          colorFour: 'green',
        }, hideColorFour());
        expect(state).toEqual({
          colorFour: '',
        });
      });
    });