diff options
Diffstat (limited to 'spec/frontend/contribution_events/components')
5 files changed, 81 insertions, 10 deletions
diff --git a/spec/frontend/contribution_events/components/contribution_event/contribution_event_created_spec.js b/spec/frontend/contribution_events/components/contribution_event/contribution_event_created_spec.js index 4be4aa50dfc..50b12244a55 100644 --- a/spec/frontend/contribution_events/components/contribution_event/contribution_event_created_spec.js +++ b/spec/frontend/contribution_events/components/contribution_event/contribution_event_created_spec.js @@ -23,15 +23,15 @@ describe('ContributionEventCreated', () => { }; describe.each` - event | expectedMessage | expectedIconName | expectedIconClass - ${eventProjectCreated()} | ${'Created project %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} - ${eventMilestoneCreated()} | ${'Opened milestone %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} - ${eventIssueCreated()} | ${'Opened issue %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} - ${eventMergeRequestCreated()} | ${'Opened merge request %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} - ${eventWikiPageCreated()} | ${'Created wiki page %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} - ${eventDesignCreated()} | ${'Added design %{targetLink} in %{resourceParentLink}.'} | ${'upload'} | ${null} - ${{ resource_parent: { type: 'unsupported type' } }} | ${'Created resource.'} | ${'status_open'} | ${'gl-text-green-500'} - ${{ target: { type: 'unsupported type' } }} | ${'Created resource.'} | ${'status_open'} | ${'gl-text-green-500'} + event | expectedMessage | expectedIconName | expectedIconClass + ${eventProjectCreated()} | ${'Created project %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} + ${eventMilestoneCreated()} | ${'Opened milestone %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} + ${eventIssueCreated()} | ${'Opened issue %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} + ${eventMergeRequestCreated()} | ${'Opened merge request %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} + ${eventWikiPageCreated()} | ${'Created wiki page %{targetLink} in %{resourceParentLink}.'} | ${'status_open'} | ${'gl-text-green-500'} + ${eventDesignCreated()} | ${'Added design %{targetLink} in %{resourceParentLink}.'} | ${'upload'} | ${null} + ${{ resource_parent: { type: 'unsupported type' }, target: { type: null } }} | ${'Created resource.'} | ${'status_open'} | ${'gl-text-green-500'} + ${{ target: { type: 'unsupported type' } }} | ${'Created resource.'} | ${'status_open'} | ${'gl-text-green-500'} `( 'when event target type is $event.target.type', ({ event, expectedMessage, expectedIconName, expectedIconClass }) => { diff --git a/spec/frontend/contribution_events/components/contribution_event/contribution_event_destroyed_spec.js b/spec/frontend/contribution_events/components/contribution_event/contribution_event_destroyed_spec.js new file mode 100644 index 00000000000..b296b75ce0a --- /dev/null +++ b/spec/frontend/contribution_events/components/contribution_event/contribution_event_destroyed_spec.js @@ -0,0 +1,32 @@ +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import ContributionEventDestroyed from '~/contribution_events/components/contribution_event/contribution_event_destroyed.vue'; +import ContributionEventBase from '~/contribution_events/components/contribution_event/contribution_event_base.vue'; +import { eventDesignDestroyed, eventWikiPageDestroyed, eventMilestoneDestroyed } from '../../utils'; + +describe('ContributionEventDestroyed', () => { + let wrapper; + + const createComponent = ({ propsData }) => { + wrapper = shallowMountExtended(ContributionEventDestroyed, { + propsData, + }); + }; + + describe.each` + event | expectedMessage | iconName + ${eventDesignDestroyed()} | ${'Archived design in %{resourceParentLink}.'} | ${'archive'} + ${eventWikiPageDestroyed()} | ${'Deleted wiki page in %{resourceParentLink}.'} | ${'remove'} + ${eventMilestoneDestroyed()} | ${'Deleted milestone in %{resourceParentLink}.'} | ${'remove'} + ${{ target: { type: 'unsupported type' } }} | ${'Deleted resource.'} | ${'remove'} + `('when event target type is $event.target.type', ({ event, expectedMessage, iconName }) => { + it('renders `ContributionEventBase` with correct props', () => { + createComponent({ propsData: { event } }); + + expect(wrapper.findComponent(ContributionEventBase).props()).toMatchObject({ + event, + message: expectedMessage, + iconName, + }); + }); + }); +}); diff --git a/spec/frontend/contribution_events/components/contribution_event/contribution_event_updated_spec.js b/spec/frontend/contribution_events/components/contribution_event/contribution_event_updated_spec.js new file mode 100644 index 00000000000..e8e25b24dc9 --- /dev/null +++ b/spec/frontend/contribution_events/components/contribution_event/contribution_event_updated_spec.js @@ -0,0 +1,31 @@ +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import ContributionEventUpdated from '~/contribution_events/components/contribution_event/contribution_event_updated.vue'; +import ContributionEventBase from '~/contribution_events/components/contribution_event/contribution_event_base.vue'; +import { eventDesignUpdated, eventWikiPageUpdated } from '../../utils'; + +describe('ContributionEventUpdated', () => { + let wrapper; + + const createComponent = ({ propsData }) => { + wrapper = shallowMountExtended(ContributionEventUpdated, { + propsData, + }); + }; + + describe.each` + event | expectedMessage + ${eventDesignUpdated()} | ${'Updated design %{targetLink} in %{resourceParentLink}.'} + ${eventWikiPageUpdated()} | ${'Updated wiki page %{targetLink} in %{resourceParentLink}.'} + ${{ target: { type: 'unsupported type' } }} | ${'Updated resource.'} + `('when event target type is $event.target.type', ({ event, expectedMessage }) => { + it('renders `ContributionEventBase` with correct props', () => { + createComponent({ propsData: { event } }); + + expect(wrapper.findComponent(ContributionEventBase).props()).toMatchObject({ + event, + message: expectedMessage, + iconName: 'pencil', + }); + }); + }); +}); diff --git a/spec/frontend/contribution_events/components/contribution_events_spec.js b/spec/frontend/contribution_events/components/contribution_events_spec.js index 7493d248e2b..dc460a698bd 100644 --- a/spec/frontend/contribution_events/components/contribution_events_spec.js +++ b/spec/frontend/contribution_events/components/contribution_events_spec.js @@ -11,6 +11,8 @@ import ContributionEventCreated from '~/contribution_events/components/contribut import ContributionEventClosed from '~/contribution_events/components/contribution_event/contribution_event_closed.vue'; import ContributionEventReopened from '~/contribution_events/components/contribution_event/contribution_event_reopened.vue'; import ContributionEventCommented from '~/contribution_events/components/contribution_event/contribution_event_commented.vue'; +import ContributionEventUpdated from '~/contribution_events/components/contribution_event/contribution_event_updated.vue'; +import ContributionEventDestroyed from '~/contribution_events/components/contribution_event/contribution_event_destroyed.vue'; import { eventApproved, eventExpired, @@ -23,6 +25,8 @@ import { eventClosed, eventReopened, eventCommented, + eventUpdated, + eventDestroyed, } from '../utils'; describe('ContributionEvents', () => { @@ -43,6 +47,8 @@ describe('ContributionEvents', () => { eventClosed(), eventReopened(), eventCommented(), + eventUpdated(), + eventDestroyed(), ], }, }); @@ -61,6 +67,8 @@ describe('ContributionEvents', () => { ${ContributionEventClosed} | ${eventClosed()} ${ContributionEventReopened} | ${eventReopened()} ${ContributionEventCommented} | ${eventCommented()} + ${ContributionEventUpdated} | ${eventUpdated()} + ${ContributionEventDestroyed} | ${eventDestroyed()} `( 'renders `$expectedComponent.name` component and passes expected event', ({ expectedComponent, expectedEvent }) => { diff --git a/spec/frontend/contribution_events/components/target_link_spec.js b/spec/frontend/contribution_events/components/target_link_spec.js index 40650b3585c..968a9d3bd3d 100644 --- a/spec/frontend/contribution_events/components/target_link_spec.js +++ b/spec/frontend/contribution_events/components/target_link_spec.js @@ -49,7 +49,7 @@ describe('TargetLink', () => { }); }); - describe('when target is not defined', () => { + describe('when target type is not defined', () => { beforeEach(() => { createComponent({ propsData: { event: eventJoined() } }); }); |