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:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-02-11 21:18:58 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-02-11 21:18:58 +0300
commite57809ded8e4e64c0528d33a5f59e9160e310d14 (patch)
treee51a328a522b165b6b2465529b0adae0272b03dd /spec/frontend/ide
parentec377e41624fb83f0e5e51286c7aad24a22eefb1 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/ide')
-rw-r--r--spec/frontend/ide/components/new_dropdown/index_spec.js12
-rw-r--r--spec/frontend/ide/components/preview/clientside_spec.js11
-rw-r--r--spec/frontend/ide/lib/common/model_spec.js7
-rw-r--r--spec/frontend/ide/stores/actions_spec.js17
4 files changed, 17 insertions, 30 deletions
diff --git a/spec/frontend/ide/components/new_dropdown/index_spec.js b/spec/frontend/ide/components/new_dropdown/index_spec.js
index fa34d1b257f..19dcd9569b3 100644
--- a/spec/frontend/ide/components/new_dropdown/index_spec.js
+++ b/spec/frontend/ide/components/new_dropdown/index_spec.js
@@ -1,4 +1,4 @@
-import Vue from 'vue';
+import Vue, { nextTick } from 'vue';
import { createComponentWithStore } from 'helpers/vue_mount_component_helper';
import newDropdown from '~/ide/components/new_dropdown/index.vue';
import { createStore } from '~/ide/stores';
@@ -57,17 +57,15 @@ describe('new dropdown component', () => {
});
describe('isOpen', () => {
- it('scrolls dropdown into view', (done) => {
+ it('scrolls dropdown into view', async () => {
jest.spyOn(vm.$refs.dropdownMenu, 'scrollIntoView').mockImplementation(() => {});
vm.isOpen = true;
- setImmediate(() => {
- expect(vm.$refs.dropdownMenu.scrollIntoView).toHaveBeenCalledWith({
- block: 'nearest',
- });
+ await nextTick();
- done();
+ expect(vm.$refs.dropdownMenu.scrollIntoView).toHaveBeenCalledWith({
+ block: 'nearest',
});
});
});
diff --git a/spec/frontend/ide/components/preview/clientside_spec.js b/spec/frontend/ide/components/preview/clientside_spec.js
index e253c4de4b2..426fbd5c04c 100644
--- a/spec/frontend/ide/components/preview/clientside_spec.js
+++ b/spec/frontend/ide/components/preview/clientside_spec.js
@@ -4,6 +4,7 @@ import Vue, { nextTick } from 'vue';
import { dispatch } from 'codesandbox-api';
import smooshpack from 'smooshpack';
import Vuex from 'vuex';
+import waitForPromises from 'helpers/wait_for_promises';
import Clientside from '~/ide/components/preview/clientside.vue';
import { PING_USAGE_PREVIEW_KEY, PING_USAGE_PREVIEW_SUCCESS_KEY } from '~/ide/constants';
import eventHub from '~/ide/eventhub';
@@ -43,8 +44,6 @@ describe('IDE clientside preview', () => {
};
const dispatchCodesandboxReady = () => dispatch({ type: 'done' });
- const waitForCalls = () => new Promise(setImmediate);
-
const createComponent = ({ state, getters } = {}) => {
store = new Vuex.Store({
state: {
@@ -100,7 +99,7 @@ describe('IDE clientside preview', () => {
beforeEach(() => {
createComponent({ getters: { packageJson: dummyPackageJson } });
- return waitForCalls();
+ return waitForPromises();
});
it('creates sandpack manager', () => {
@@ -139,7 +138,7 @@ describe('IDE clientside preview', () => {
state: { codesandboxBundlerUrl: TEST_BUNDLER_URL },
});
- return waitForCalls();
+ return waitForPromises();
});
it('creates sandpack manager with bundlerURL', () => {
@@ -154,7 +153,7 @@ describe('IDE clientside preview', () => {
beforeEach(() => {
createComponent({ getters: { packageJson: dummyPackageJson } });
- return waitForCalls();
+ return waitForPromises();
});
it('creates sandpack manager', () => {
@@ -340,7 +339,7 @@ describe('IDE clientside preview', () => {
wrapper.setData({ sandpackReady: true });
wrapper.vm.update();
- return waitForCalls().then(() => {
+ return waitForPromises().then(() => {
expect(smooshpack.Manager).toHaveBeenCalled();
});
});
diff --git a/spec/frontend/ide/lib/common/model_spec.js b/spec/frontend/ide/lib/common/model_spec.js
index 51df1e2e42f..5d1623429c0 100644
--- a/spec/frontend/ide/lib/common/model_spec.js
+++ b/spec/frontend/ide/lib/common/model_spec.js
@@ -81,16 +81,13 @@ describe('Multi-file editor library model', () => {
});
describe('onChange', () => {
- it('calls callback on change', (done) => {
+ it('calls callback on change', () => {
const spy = jest.fn();
model.onChange(spy);
model.getModel().setValue('123');
- setImmediate(() => {
- expect(spy).toHaveBeenCalledWith(model, expect.anything());
- done();
- });
+ expect(spy).toHaveBeenCalledWith(model, expect.anything());
});
});
diff --git a/spec/frontend/ide/stores/actions_spec.js b/spec/frontend/ide/stores/actions_spec.js
index e575667b8c6..be43c618095 100644
--- a/spec/frontend/ide/stores/actions_spec.js
+++ b/spec/frontend/ide/stores/actions_spec.js
@@ -274,24 +274,17 @@ describe('Multi-file store actions', () => {
});
describe('scrollToTab', () => {
- it('focuses the current active element', (done) => {
+ it('focuses the current active element', () => {
document.body.innerHTML +=
'<div id="tabs"><div class="active"><div class="repo-tab"></div></div></div>';
const el = document.querySelector('.repo-tab');
jest.spyOn(el, 'focus').mockImplementation();
- store
- .dispatch('scrollToTab')
- .then(() => {
- setImmediate(() => {
- expect(el.focus).toHaveBeenCalled();
+ return store.dispatch('scrollToTab').then(() => {
+ expect(el.focus).toHaveBeenCalled();
- document.getElementById('tabs').remove();
-
- done();
- });
- })
- .catch(done.fail);
+ document.getElementById('tabs').remove();
+ });
});
});