82 lines
2.1 KiB
JavaScript
82 lines
2.1 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 ('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 ('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 ('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');
|
||
|
|
});
|
||
|
|
});
|