From e4bf776a8829e5186a0f63603c0be627b891d80e Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Mon, 23 Mar 2020 09:09:42 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/frontend/search_spec.js | 44 ++++++++++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 14 deletions(-) (limited to 'spec/frontend/search_spec.js') diff --git a/spec/frontend/search_spec.js b/spec/frontend/search_spec.js index af93fa88f72..1573365538c 100644 --- a/spec/frontend/search_spec.js +++ b/spec/frontend/search_spec.js @@ -1,8 +1,10 @@ import $ from 'jquery'; import Api from '~/api'; import Search from '~/pages/search/show/search'; +import setHighlightClass from '~/pages/search/show/highlight_blob_search_result'; jest.mock('~/api'); +jest.mock('~/pages/search/show/highlight_blob_search_result'); describe('Search', () => { const fixturePath = 'search/show.html'; @@ -16,27 +18,41 @@ describe('Search', () => { preloadFixtures(fixturePath); - beforeEach(() => { - loadFixtures(fixturePath); - new Search(); // eslint-disable-line no-new + describe('constructor side effects', () => { + afterEach(() => { + jest.restoreAllMocks(); + }); + + it('highlights lines with search terms in blob search results', () => { + new Search(); // eslint-disable-line no-new + + expect(setHighlightClass).toHaveBeenCalled(); + }); }); - it('requests groups from backend when filtering', () => { - jest.spyOn(Api, 'groups').mockImplementation(term => { - expect(term).toBe(searchTerm); + describe('dropdown behavior', () => { + beforeEach(() => { + loadFixtures(fixturePath); + new Search(); // eslint-disable-line no-new }); - const inputElement = fillDropdownInput('.js-search-group-dropdown'); + it('requests groups from backend when filtering', () => { + jest.spyOn(Api, 'groups').mockImplementation(term => { + expect(term).toBe(searchTerm); + }); - $(inputElement).trigger('input'); - }); + const inputElement = fillDropdownInput('.js-search-group-dropdown'); - it('requests projects from backend when filtering', () => { - jest.spyOn(Api, 'projects').mockImplementation(term => { - expect(term).toBe(searchTerm); + $(inputElement).trigger('input'); }); - const inputElement = fillDropdownInput('.js-search-project-dropdown'); - $(inputElement).trigger('input'); + it('requests projects from backend when filtering', () => { + jest.spyOn(Api, 'projects').mockImplementation(term => { + expect(term).toBe(searchTerm); + }); + const inputElement = fillDropdownInput('.js-search-project-dropdown'); + + $(inputElement).trigger('input'); + }); }); }); -- cgit v1.2.1