Skip to content
Snippets Groups Projects
Select Git revision
  • 34f16bc7c9725241156c36b1848f61439353b2b8
  • master default protected
2 results

patternGeneration.test.js

Blame
  • Forked from SOFT Core / SOFT 260 / React Redux Starter Code
    Source project has a limited visibility.
    patternGeneration.test.js 1.28 KiB
    /* eslint-disable no-magic-numbers */
    
    import React from 'react';
    import { render, screen } from '@testing-library/react';
    import userEvent from '@testing-library/user-event';
    import '../../testing/mockRedux.js';
    
    import { Pattern } from './patternGeneration.js';
    
    import {
        selectBorderState,
        selectPatternList,
        selectScore,
    } from './patternSlice.js'
    jest.mock('./patternSlice.js', () =>({
        selectBorderState: jest.fn().mockName('selectBorderState'),
        selectPatternList: jest.fn().mockName('selectPatternList'),
        selectScore: jest.fn().mockName('selectScore'),
    }));
    
    describe('red button', () => {
        test('has a white border if borderState is true', () => {
            selectBorderState.mockReturnValue(true);
            render(<Pattern button={'Foo'}/>);
            expect(screen.getByTitle('red')).toHaveClass('redlit');
        });
    });
    describe('the score counter', () => {
        test('displays the correct score', () => {
            selectScore.mockReturnValue(100);
            render(<Pattern></Pattern>);
            expect(screen.getByTitle('score')).toHaveTextContent('Score: 100');
        });
    });
    describe('the pattern list', () => {
        test('works', () => {
            const list = selectPatternList.mockReturnValue([0, 1, 3]);
            render(<Pattern></Pattern>);
            expect( list === [0,1,3]);
        });
    });