94 lines
2.3 KiB
JavaScript
94 lines
2.3 KiB
JavaScript
import React from 'react';
|
|
import {shallow, mount} from 'enzyme';
|
|
import AnswerTextBox from '../AnswerTextBox';
|
|
import {ANSWER_TYPE} from '../../../config/constants';
|
|
|
|
it ('renders without crashing', () => {
|
|
shallow (<AnswerTextBox />);
|
|
});
|
|
|
|
describe ('predefined answer selected', () => {
|
|
let wrapper;
|
|
let textField;
|
|
|
|
beforeEach (() => {
|
|
const onChange = jest.fn();
|
|
wrapper = mount (
|
|
<AnswerTextBox
|
|
answerType={ANSWER_TYPE.PREDEFINED}
|
|
answer={'Dummy answer'}
|
|
handleAnswerEdit={onChange}
|
|
/>
|
|
);
|
|
textField = wrapper.find ('TextField').first ();
|
|
});
|
|
|
|
it ('snapshot', () =>{
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it ('renders text box for normal answer', () => {
|
|
expect (textField.props ().label).toEqual ('Answer');
|
|
});
|
|
|
|
it ('receives valid answer text', () => {
|
|
expect (textField.props ().value).toEqual ('Dummy answer');
|
|
});
|
|
});
|
|
|
|
describe ('WordPress titles selected', () => {
|
|
let wrapper;
|
|
let textField;
|
|
beforeEach (() => {
|
|
const onChange = jest.fn();
|
|
wrapper = mount (
|
|
<AnswerTextBox
|
|
answerType={ANSWER_TYPE.EXTERNAL_SOURCE_WP_TITLES}
|
|
externalAnswerSource={'Dummy answer'}
|
|
handleAnswerSourceEdit={onChange}
|
|
/>
|
|
);
|
|
textField = wrapper.find ('TextField').first ();
|
|
});
|
|
|
|
it ('snapshot', () =>{
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it ('renders text box for external source input', () => {
|
|
expect (textField.props ().label).toEqual ('Answer source');
|
|
});
|
|
|
|
it ('receives valid answer text', () => {
|
|
expect (textField.props ().value).toEqual ('Dummy answer');
|
|
});
|
|
});
|
|
|
|
describe ('WordPress latest news selected', () => {
|
|
let wrapper;
|
|
let textField;
|
|
beforeEach (() => {
|
|
const onChange = jest.fn();
|
|
wrapper = mount (
|
|
<AnswerTextBox
|
|
answerType={ANSWER_TYPE.EXTERNAL_SOURCE_WP_NEWS}
|
|
externalAnswerSource={'Dummy answer'}
|
|
handleAnswerSourceEdit={onChange}
|
|
/>
|
|
);
|
|
textField = wrapper.find ('TextField').first ();
|
|
});
|
|
|
|
it ('snapshot', () =>{
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it ('renders text box for external source input', () => {
|
|
expect (textField.props ().label).toEqual ('Answer source');
|
|
});
|
|
|
|
it ('receives valid answer text', () => {
|
|
expect (textField.props ().value).toEqual ('Dummy answer');
|
|
});
|
|
});
|