diff --git a/ui/src/tempVars/components/TemplateControlDropdown.tsx b/ui/src/tempVars/components/TemplateControlDropdown.tsx index 707d05c31..8d7ef8fc4 100644 --- a/ui/src/tempVars/components/TemplateControlDropdown.tsx +++ b/ui/src/tempVars/components/TemplateControlDropdown.tsx @@ -72,6 +72,7 @@ class TemplateControlDropdown extends PureComponent { diff --git a/ui/test/tempVars/components/TemplateControlDropdown.test.tsx b/ui/test/tempVars/components/TemplateControlDropdown.test.tsx new file mode 100644 index 000000000..ed1d8712d --- /dev/null +++ b/ui/test/tempVars/components/TemplateControlDropdown.test.tsx @@ -0,0 +1,49 @@ +import React from 'react' +import {shallow} from 'enzyme' + +import SimpleOverlayTechnology from 'src/shared/components/SimpleOverlayTechnology' +import TemplateVariableEditor from 'src/tempVars/components/TemplateVariableEditor' +import TemplateControlDropdown from 'src/tempVars/components/TemplateControlDropdown' +import {source} from 'test/resources' + +import {TemplateType, TemplateValueType} from 'src/types' + +const defaultProps = { + template: { + id: '0', + tempVar: ':my-var:', + label: '', + type: TemplateType.Databases, + values: [ + { + value: 'db0', + type: TemplateValueType.Database, + selected: true, + }, + ], + }, + meRole: 'EDITOR', + isUsingAuth: true, + source, + onSelectTemplate: () => Promise.resolve(), + onCreateTemplate: () => Promise.resolve(), + onUpdateTemplate: () => Promise.resolve(), + onDeleteTemplate: () => Promise.resolve(), +} + +describe('TemplateControlDropdown', () => { + it('should show a TemplateVariableEditor overlay when the settings icon is clicked', () => { + const wrapper = shallow() + + expect(wrapper.find(SimpleOverlayTechnology)).toHaveLength(0) + + wrapper.find("[data-test='edit']").simulate('click') + + const elements = wrapper + .find(SimpleOverlayTechnology) + .dive() + .find(TemplateVariableEditor) + + expect(elements).toHaveLength(1) + }) +})