diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-23 18:07:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-23 18:07:42 +0300 |
commit | bc0f141f2f073a971aad1eb5349bb718747df028 (patch) | |
tree | 72fcc48dfac8e3f3560e22014eacdd2eaae8bc89 /spec/frontend/sidebar | |
parent | 2c29837ce1692790dedccbc9b36b44dc8aaacbee (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/sidebar')
-rw-r--r-- | spec/frontend/sidebar/sidebar_mediator_spec.js | 51 |
1 files changed, 41 insertions, 10 deletions
diff --git a/spec/frontend/sidebar/sidebar_mediator_spec.js b/spec/frontend/sidebar/sidebar_mediator_spec.js index bb5e7f7ff16..254489e49a5 100644 --- a/spec/frontend/sidebar/sidebar_mediator_spec.js +++ b/spec/frontend/sidebar/sidebar_mediator_spec.js @@ -24,7 +24,8 @@ describe('Sidebar mediator', () => { SidebarService.singleton = null; SidebarStore.singleton = null; SidebarMediator.singleton = null; - mock.restore(); + + jest.clearAllMocks(); }); it('assigns yourself', () => { @@ -42,6 +43,45 @@ describe('Sidebar mediator', () => { }); }); + describe('saves reviewers', () => { + const mockUpdateResponseData = { + reviewers: [1, 2], + assignees: [3, 4], + }; + const field = 'merge_request[reviewers_ids]'; + const reviewers = [ + { id: 1, suggested: true }, + { id: 2, suggested: false }, + ]; + + let serviceSpy; + + beforeEach(() => { + mediator.store.reviewers = reviewers; + serviceSpy = jest + .spyOn(mediator.service, 'update') + .mockReturnValue(Promise.resolve({ data: mockUpdateResponseData })); + }); + + it('sends correct data to service', () => { + const data = { + reviewer_ids: [1, 2], + suggested_reviewer_ids: [1], + }; + + mediator.saveReviewers(field); + + expect(serviceSpy).toHaveBeenCalledWith(field, data); + }); + + it('saves reviewers', () => { + return mediator.saveReviewers(field).then(() => { + expect(mediator.store.assignees).toEqual(mockUpdateResponseData.assignees); + expect(mediator.store.reviewers).toEqual(mockUpdateResponseData.reviewers); + }); + }); + }); + it('fetches the data', async () => { const mockData = Mock.responseMap.GET[mediatorMockData.endpoint]; mock.onGet(mediatorMockData.endpoint).reply(200, mockData); @@ -49,7 +89,6 @@ describe('Sidebar mediator', () => { await mediator.fetch(); expect(spy).toHaveBeenCalledWith(mockData); - spy.mockRestore(); }); it('processes fetched data', () => { @@ -70,8 +109,6 @@ describe('Sidebar mediator', () => { mediator.setMoveToProjectId(projectId); expect(spy).toHaveBeenCalledWith(projectId); - - spy.mockRestore(); }); it('fetches autocomplete projects', () => { @@ -87,9 +124,6 @@ describe('Sidebar mediator', () => { return mediator.fetchAutocompleteProjects(searchTerm).then(() => { expect(getterSpy).toHaveBeenCalledWith(searchTerm); expect(setterSpy).toHaveBeenCalled(); - - getterSpy.mockRestore(); - setterSpy.mockRestore(); }); }); @@ -106,9 +140,6 @@ describe('Sidebar mediator', () => { return mediator.moveIssue().then(() => { expect(moveIssueSpy).toHaveBeenCalledWith(moveToProjectId); expect(urlSpy).toHaveBeenCalledWith(mockData.web_url); - - moveIssueSpy.mockRestore(); - urlSpy.mockRestore(); }); }); }); |