mirror of
https://github.com/reduxjs/redux-devtools.git
synced 2024-11-14 13:46:55 +03:00
92 lines
3.2 KiB
JavaScript
92 lines
3.2 KiB
JavaScript
|
import React from 'react';
|
||
|
import { render } from 'enzyme';
|
||
|
import { renderToJson } from 'enzyme-to-json';
|
||
|
import TestGenerator from '../src/TestGenerator';
|
||
|
import fnTemplate from '../src/redux/mocha';
|
||
|
import strTemplate from '../src/redux/mocha/template';
|
||
|
import fnVanillaTemplate from '../src/vanilla/mocha';
|
||
|
import strVanillaTemplate from '../src/vanilla/mocha/template';
|
||
|
|
||
|
const actions = {
|
||
|
0: { type: 'PERFORM_ACTION', action: { type: '@@INIT' } },
|
||
|
1: { type: 'PERFORM_ACTION', action: { type: 'INCREMENT_COUNTER' } }
|
||
|
};
|
||
|
|
||
|
const computedStates = [
|
||
|
{ state: { counter: 0 } },
|
||
|
{ state: { counter: 1 } }
|
||
|
];
|
||
|
|
||
|
describe('TestGenerator component', () => {
|
||
|
it('should show warning message when no params provided', () => {
|
||
|
const component = render(<TestGenerator useCodemirror={false} />);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should be empty when no actions provided', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={fnTemplate.assertion} dispatcher={fnTemplate.dispatcher} wrap={fnTemplate.wrap}
|
||
|
useCodemirror={false}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should match function template\'s test for first action', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={fnTemplate.assertion} dispatcher={fnTemplate.dispatcher} wrap={fnTemplate.wrap}
|
||
|
actions={actions} computedStates={computedStates} selectedActionId={1}
|
||
|
useCodemirror={false}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should match string template\'s test for first action', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={strTemplate.assertion} dispatcher={strTemplate.dispatcher}
|
||
|
wrap={strTemplate.wrap} useCodemirror={false}
|
||
|
actions={actions} computedStates={computedStates} selectedActionId={1}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should generate test for the last action when selectedActionId not specified', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={fnTemplate.assertion} dispatcher={fnTemplate.dispatcher} wrap={fnTemplate.wrap}
|
||
|
actions={actions} computedStates={computedStates} useCodemirror={false}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should generate test for vanilla js class', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={fnVanillaTemplate.assertion} dispatcher={fnVanillaTemplate.dispatcher}
|
||
|
wrap={fnVanillaTemplate.wrap}
|
||
|
actions={actions} computedStates={computedStates} selectedActionId={1}
|
||
|
isVanilla name="SomeStore" useCodemirror={false}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
|
||
|
it('should generate test for vanilla js class with string template', () => {
|
||
|
const component = render(
|
||
|
<TestGenerator
|
||
|
assertion={strVanillaTemplate.assertion} dispatcher={strVanillaTemplate.dispatcher}
|
||
|
wrap={strVanillaTemplate.wrap}
|
||
|
actions={actions} computedStates={computedStates} selectedActionId={1}
|
||
|
isVanilla name="SomeStore" useCodemirror={false}
|
||
|
/>
|
||
|
);
|
||
|
expect(renderToJson(component)).toMatchSnapshot();
|
||
|
});
|
||
|
});
|