From 27485df46bdc8cb57c3ceb5c68cc4685f9c01d6c Mon Sep 17 00:00:00 2001 From: Jaden Diefenbaugh <jaden.diefenbaugh@idiap.ch> Date: Wed, 10 Oct 2018 11:09:55 -0700 Subject: [PATCH] [js] add basic test for ParameterCreate --- .../src/components/ParameterCreate.spec.jsx | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 conda/js/src/components/ParameterCreate.spec.jsx diff --git a/conda/js/src/components/ParameterCreate.spec.jsx b/conda/js/src/components/ParameterCreate.spec.jsx new file mode 100644 index 00000000..506666f2 --- /dev/null +++ b/conda/js/src/components/ParameterCreate.spec.jsx @@ -0,0 +1,69 @@ +// @flow +import React from 'react'; +import { expect } from 'chai'; +import { mount } from 'enzyme'; +import sinon from 'sinon'; +import { spies } from '@test'; + +import C from './ParameterCreate.jsx'; + +describe.only('<ParameterCreate />', () => { + let wrapper; + const name = 'parameter'; + // shortcut for a func to update just the parameter obj, not the name + const _updateParameter = (name, p, oldName) => { + wrapper.setProps({ + param: p, + }); + }; + const params = []; + + afterEach(() => { + if(wrapper && wrapper.unmount) + wrapper.unmount(); + }); + + it(`saves the default value of a boolean parameter`, () => { + let param = { + type: '', + default: '', + description: '', + }; + const updateParameter = sinon.spy(_updateParameter); + + wrapper = mount( + <C + name={name} + param={param} + params={params} + updateParameter={updateParameter} + /> + ); + + // sanity checks + expect(wrapper.find('TypedField')).to.have.prop('name', name); + + wrapper.find('Input.custom-select').prop('onChange')( { target: { value: 'bool' }}); + wrapper.update(); + console.log(wrapper.props().param); + expect(wrapper.props().param).to.deep.equal( + { + type: 'bool', + default: '', + description: '', + } + ); + + // wrapper.find('input[type="radio"]').at(0).simulate('change', { target: { checked: 'true' }});; + wrapper.find('input[type="radio"]').at(0).simulate('change', { target: { value: 'true' }});; + wrapper.update(); + expect(updateParameter.args[0]).to.deep.equal([ + name, + { + type: 'bool', + default: 'true', + description: '', + } + ]); + }); +}); -- GitLab