diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 10:00:54 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-20 10:00:54 +0000 |
commit | 3cccd102ba543e02725d247893729e5c73b38295 (patch) | |
tree | f36a04ec38517f5deaaacb5acc7d949688d1e187 /spec/frontend/sidebar/assignees_realtime_spec.js | |
parent | 205943281328046ef7b4528031b90fbda70c75ac (diff) | |
download | gitlab-ce-3cccd102ba543e02725d247893729e5c73b38295.tar.gz |
Add latest changes from gitlab-org/gitlab@14-10-stable-eev14.10.0-rc42
Diffstat (limited to 'spec/frontend/sidebar/assignees_realtime_spec.js')
-rw-r--r-- | spec/frontend/sidebar/assignees_realtime_spec.js | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/spec/frontend/sidebar/assignees_realtime_spec.js b/spec/frontend/sidebar/assignees_realtime_spec.js index 2249a1c08b8..ae8f07bf901 100644 --- a/spec/frontend/sidebar/assignees_realtime_spec.js +++ b/spec/frontend/sidebar/assignees_realtime_spec.js @@ -2,11 +2,16 @@ import { shallowMount } from '@vue/test-utils'; import Vue from 'vue'; import VueApollo from 'vue-apollo'; import createMockApollo from 'helpers/mock_apollo_helper'; +import waitForPromises from 'helpers/wait_for_promises'; import AssigneesRealtime from '~/sidebar/components/assignees/assignees_realtime.vue'; import issuableAssigneesSubscription from '~/sidebar/queries/issuable_assignees.subscription.graphql'; import SidebarMediator from '~/sidebar/sidebar_mediator'; import getIssueAssigneesQuery from '~/vue_shared/components/sidebar/queries/get_issue_assignees.query.graphql'; -import Mock, { issuableQueryResponse, subscriptionNullResponse } from './mock_data'; +import Mock, { + issuableQueryResponse, + subscriptionNullResponse, + subscriptionResponse, +} from './mock_data'; Vue.use(VueApollo); @@ -20,7 +25,6 @@ describe('Assignees Realtime', () => { const createComponent = ({ issuableType = 'issue', - issuableId = 1, subscriptionHandler = subscriptionInitialHandler, } = {}) => { fakeApollo = createMockApollo([ @@ -30,7 +34,6 @@ describe('Assignees Realtime', () => { wrapper = shallowMount(AssigneesRealtime, { propsData: { issuableType, - issuableId, queryVariables: { issuableIid: '1', projectPath: 'path/to/project', @@ -60,11 +63,23 @@ describe('Assignees Realtime', () => { }); }); - it('calls the subscription with correct variable for issue', () => { + it('calls the subscription with correct variable for issue', async () => { createComponent(); + await waitForPromises(); expect(subscriptionInitialHandler).toHaveBeenCalledWith({ issuableId: 'gid://gitlab/Issue/1', }); }); + + it('emits an `assigneesUpdated` event on subscription response', async () => { + createComponent({ + subscriptionHandler: jest.fn().mockResolvedValue(subscriptionResponse), + }); + await waitForPromises(); + + expect(wrapper.emitted('assigneesUpdated')).toEqual([ + [{ id: '1', assignees: subscriptionResponse.data.issuableAssigneesUpdated.assignees.nodes }], + ]); + }); }); |