diff options
Diffstat (limited to 'spec/frontend/integrations/edit/components/sections/trigger_spec.js')
-rw-r--r-- | spec/frontend/integrations/edit/components/sections/trigger_spec.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/spec/frontend/integrations/edit/components/sections/trigger_spec.js b/spec/frontend/integrations/edit/components/sections/trigger_spec.js new file mode 100644 index 00000000000..883f5c7bf79 --- /dev/null +++ b/spec/frontend/integrations/edit/components/sections/trigger_spec.js @@ -0,0 +1,38 @@ +import { shallowMount } from '@vue/test-utils'; + +import IntegrationSectionTrigger from '~/integrations/edit/components/sections/trigger.vue'; +import TriggerField from '~/integrations/edit/components/trigger_field.vue'; +import { createStore } from '~/integrations/edit/store'; + +import { mockIntegrationProps } from '../../mock_data'; + +describe('IntegrationSectionTrigger', () => { + let wrapper; + + const createComponent = () => { + const store = createStore({ + customState: { ...mockIntegrationProps }, + }); + wrapper = shallowMount(IntegrationSectionTrigger, { + store, + }); + }; + + afterEach(() => { + wrapper.destroy(); + }); + + const findAllTriggerFields = () => wrapper.findAllComponents(TriggerField); + + describe('template', () => { + it('renders correct number of TriggerField components', () => { + createComponent(); + + const fields = findAllTriggerFields(); + expect(fields.length).toBe(mockIntegrationProps.triggerEvents.length); + fields.wrappers.forEach((field, index) => { + expect(field.props('event')).toBe(mockIntegrationProps.triggerEvents[index]); + }); + }); + }); +}); |