Select Git revision
patternGeneration.test.js
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]);
});
});