created tests for components related to importing from source
This commit is contained in:
71
web/src/components/helper/__tests__/AnswerSourceForm.test.js
Normal file
71
web/src/components/helper/__tests__/AnswerSourceForm.test.js
Normal file
@@ -0,0 +1,71 @@
|
||||
import React from 'react';
|
||||
import { shallow, mount } from 'enzyme';
|
||||
import AnswerSourceForm from '../AnswerSourceForm';
|
||||
import {ANSWER_TYPE} from '../../../config/constants'
|
||||
|
||||
it('renders without crashing', () => {
|
||||
shallow(<AnswerSourceForm onClose={()=>{}} onSave={()=>{}} onSourceChange={()=>{}} />);
|
||||
});
|
||||
|
||||
it('calls onClose when cancel is pressed', () => {
|
||||
const onClose = jest.fn();
|
||||
const wrapper = mount(<AnswerSourceForm onClose={onClose} onSave={()=>{}} onSourceChange={()=>{}} />);
|
||||
const cancelButton = wrapper.find('button').at(0);
|
||||
expect(cancelButton.text()).toEqual('Cancel');
|
||||
cancelButton.simulate('click');
|
||||
expect(onClose).toBeCalled();
|
||||
});
|
||||
|
||||
it('calls onSave when save is pressed', () => {
|
||||
const onSave = jest.fn();
|
||||
const wrapper = mount(<AnswerSourceForm onClose={()=>{}} onSave={onSave} onSourceChange={()=>{}} />);
|
||||
const saveButton = wrapper.find('button').at(1);
|
||||
expect(saveButton.text()).toEqual('Save');
|
||||
saveButton.simulate('click');
|
||||
expect(onSave).toBeCalled();
|
||||
});
|
||||
|
||||
it('sets PREDEFINED value when Predefined answer is selected', () => {
|
||||
let selectedValue = null;
|
||||
|
||||
const wrapper = mount(<AnswerSourceForm
|
||||
onClose={()=>{}}
|
||||
onSave={()=>{}}
|
||||
onSourceChange={(value)=>{selectedValue=value}} />);
|
||||
|
||||
const optionControl = wrapper.find('SelectionControlGroup');
|
||||
expect(optionControl.exists()).toEqual(true);
|
||||
optionControl.simulate('change',{target:{value:String(ANSWER_TYPE.PREDEFINED)}});
|
||||
expect(selectedValue).toBe(String(ANSWER_TYPE.PREDEFINED));
|
||||
|
||||
});
|
||||
|
||||
it('sets EXTERNAL_SOURCE_WP_TITLES value when WordPress titles is selected', () => {
|
||||
let selectedValue = null;
|
||||
|
||||
const wrapper = mount(<AnswerSourceForm
|
||||
onClose={()=>{}}
|
||||
onSave={()=>{}}
|
||||
onSourceChange={(value)=>{selectedValue=value}} />);
|
||||
|
||||
const optionControl = wrapper.find('SelectionControlGroup');
|
||||
expect(optionControl.exists()).toEqual(true);
|
||||
optionControl.simulate('change',{target:{value:String(ANSWER_TYPE.EXTERNAL_SOURCE_WP_TITLES)}});
|
||||
expect(selectedValue).toBe(String(ANSWER_TYPE.EXTERNAL_SOURCE_WP_TITLES));
|
||||
|
||||
});
|
||||
|
||||
it('sets EXTERNAL_SOURCE_WP_NEWS value when WordPress latest news is selected', () => {
|
||||
let selectedValue = null;
|
||||
|
||||
const wrapper = mount(<AnswerSourceForm
|
||||
onClose={()=>{}}
|
||||
onSave={()=>{}}
|
||||
onSourceChange={(value)=>{selectedValue=value}} />);
|
||||
|
||||
const optionControl = wrapper.find('SelectionControlGroup');
|
||||
expect(optionControl.exists()).toEqual(true);
|
||||
optionControl.simulate('change',{target:{value:String(ANSWER_TYPE.EXTERNAL_SOURCE_WP_NEWS)}});
|
||||
expect(selectedValue).toBe(String(ANSWER_TYPE.EXTERNAL_SOURCE_WP_NEWS));
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user