update selected to value in AnsibleSelect

This commit is contained in:
John Mitchell
2019-02-13 14:52:11 -05:00
parent de658939c5
commit 35c94e9cd8
2 changed files with 12 additions and 6 deletions

View File

@@ -8,18 +8,21 @@ describe('<AnsibleSelect />', () => {
test('initially renders succesfully', async () => { test('initially renders succesfully', async () => {
mount( mount(
<AnsibleSelect <AnsibleSelect
selected="foo" value="foo"
name="bar"
onChange={() => { }} onChange={() => { }}
labelName={label} labelName={label}
data={mockData} data={mockData}
/> />
); );
}); });
test('calls "onSelectChange" on dropdown select change', () => { test('calls "onSelectChange" on dropdown select change', () => {
const spy = jest.spyOn(AnsibleSelect.prototype, 'onSelectChange'); const spy = jest.spyOn(AnsibleSelect.prototype, 'onSelectChange');
const wrapper = mount( const wrapper = mount(
<AnsibleSelect <AnsibleSelect
selected="foo" value="foo"
name="bar"
onChange={() => { }} onChange={() => { }}
labelName={label} labelName={label}
data={mockData} data={mockData}
@@ -29,10 +32,12 @@ describe('<AnsibleSelect />', () => {
wrapper.find('select').simulate('change'); wrapper.find('select').simulate('change');
expect(spy).toHaveBeenCalled(); expect(spy).toHaveBeenCalled();
}); });
test('content not rendered when data property is falsey', () => { test('content not rendered when data property is falsey', () => {
const wrapper = mount( const wrapper = mount(
<AnsibleSelect <AnsibleSelect
selected="foo" value="foo"
name="bar"
onChange={() => { }} onChange={() => { }}
labelName={label} labelName={label}
data={null} data={null}

View File

@@ -26,18 +26,19 @@ class AnsibleSelect extends React.Component {
} }
onSelectChange (val, event) { onSelectChange (val, event) {
const { onChange } = this.props; const { onChange, name } = this.props;
event.target.name = name;
onChange(val, event); onChange(val, event);
} }
render () { render () {
const { count } = this.state; const { count } = this.state;
const { labelName, selected, data, fieldId } = this.props; const { labelName, value, data, fieldId } = this.props;
let elem; let elem;
if (count > 1) { if (count > 1) {
elem = ( elem = (
<FormGroup label={labelName} fieldId={fieldId || 'ansible-select'}> <FormGroup label={labelName} fieldId={fieldId || 'ansible-select'}>
<Select value={selected} id={`select-${fieldId}` || 'ansible-select-element'} onChange={this.onSelectChange} aria-label="Select Input"> <Select value={value} id={`select-${fieldId}` || 'ansible-select-element'} onChange={this.onSelectChange} aria-label="Select Input">
{data.map((datum) => ( {data.map((datum) => (
<SelectOption isDisabled={datum.disabled} key={datum} value={datum} label={datum} /> <SelectOption isDisabled={datum.disabled} key={datum} value={datum} label={datum} />
))} ))}