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