summaryrefslogtreecommitdiff
path: root/spec/frontend/projects/compare/components/revision_dropdown_spec.js
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/projects/compare/components/revision_dropdown_spec.js')
-rw-r--r--spec/frontend/projects/compare/components/revision_dropdown_spec.js41
1 files changed, 40 insertions, 1 deletions
diff --git a/spec/frontend/projects/compare/components/revision_dropdown_spec.js b/spec/frontend/projects/compare/components/revision_dropdown_spec.js
index 69d3167c99c..aab9607ceae 100644
--- a/spec/frontend/projects/compare/components/revision_dropdown_spec.js
+++ b/spec/frontend/projects/compare/components/revision_dropdown_spec.js
@@ -1,4 +1,4 @@
-import { GlDropdown } from '@gitlab/ui';
+import { GlDropdown, GlSearchBoxByType } from '@gitlab/ui';
import { shallowMount } from '@vue/test-utils';
import AxiosMockAdapter from 'axios-mock-adapter';
import createFlash from '~/flash';
@@ -23,6 +23,10 @@ describe('RevisionDropdown component', () => {
...defaultProps,
...props,
},
+ stubs: {
+ GlDropdown,
+ GlSearchBoxByType,
+ },
});
};
@@ -36,6 +40,7 @@ describe('RevisionDropdown component', () => {
});
const findGlDropdown = () => wrapper.find(GlDropdown);
+ const findSearchBox = () => wrapper.find(GlSearchBoxByType);
it('sets hidden input', () => {
createComponent();
@@ -85,6 +90,40 @@ describe('RevisionDropdown component', () => {
expect(axios.get).toHaveBeenLastCalledWith(newRefsProjectPath);
});
+ describe('search', () => {
+ it('shows flash message on error', async () => {
+ axiosMock.onGet('some/invalid/path').replyOnce(404);
+
+ createComponent();
+
+ await wrapper.vm.searchBranchesAndTags();
+ expect(createFlash).toHaveBeenCalled();
+ });
+
+ it('makes request with search param', async () => {
+ jest.spyOn(axios, 'get').mockResolvedValue({
+ data: {
+ Branches: [],
+ Tags: [],
+ },
+ });
+
+ const mockSearchTerm = 'foobar';
+ createComponent();
+ findSearchBox().vm.$emit('input', mockSearchTerm);
+ await axios.waitForAll();
+
+ expect(axios.get).toHaveBeenCalledWith(
+ defaultProps.refsProjectPath,
+ expect.objectContaining({
+ params: {
+ search: mockSearchTerm,
+ },
+ }),
+ );
+ });
+ });
+
describe('GlDropdown component', () => {
it('renders props', () => {
createComponent();