Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/nav/components/new_nav_toggle_spec.js')
-rw-r--r--spec/frontend/nav/components/new_nav_toggle_spec.js23
1 files changed, 18 insertions, 5 deletions
diff --git a/spec/frontend/nav/components/new_nav_toggle_spec.js b/spec/frontend/nav/components/new_nav_toggle_spec.js
index f09bdef8caa..ee75dfb70e4 100644
--- a/spec/frontend/nav/components/new_nav_toggle_spec.js
+++ b/spec/frontend/nav/components/new_nav_toggle_spec.js
@@ -14,6 +14,8 @@ jest.mock('~/flash');
const TEST_ENDPONT = 'https://example.com/toggle';
describe('NewNavToggle', () => {
+ useMockLocationHelper();
+
let wrapper;
const findToggle = () => wrapper.findComponent(GlToggle);
@@ -59,18 +61,22 @@ describe('NewNavToggle', () => {
});
});
- describe('changing the toggle', () => {
- useMockLocationHelper();
+ describe.each`
+ desc | actFn
+ ${'when toggle button is clicked'} | ${() => findToggle().trigger('click')}
+ ${'when menu item text is clicked'} | ${() => getByText('New navigation').trigger('click')}
+ `('$desc', ({ actFn }) => {
let mock;
beforeEach(() => {
mock = new MockAdapter(axios);
- createComponent();
+ createComponent({ enabled: false });
});
it('reloads the page on success', async () => {
mock.onPut(TEST_ENDPONT).reply(200);
- findToggle().vm.$emit('change');
+
+ actFn();
await waitForPromises();
expect(window.location.reload).toHaveBeenCalled();
@@ -78,7 +84,8 @@ describe('NewNavToggle', () => {
it('shows an alert on error', async () => {
mock.onPut(TEST_ENDPONT).reply(500);
- findToggle().vm.$emit('change');
+
+ actFn();
await waitForPromises();
expect(createAlert).toHaveBeenCalledWith(
@@ -91,6 +98,12 @@ describe('NewNavToggle', () => {
expect(window.location.reload).not.toHaveBeenCalled();
});
+ it('changes the toggle', async () => {
+ await actFn();
+
+ expect(findToggle().props('value')).toBe(true);
+ });
+
afterEach(() => {
mock.restore();
});