summaryrefslogtreecommitdiff
path: root/spec/frontend/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'spec/frontend/helpers')
-rw-r--r--spec/frontend/helpers/fake_date.js2
-rw-r--r--spec/frontend/helpers/fake_date_spec.js12
-rw-r--r--spec/frontend/helpers/mock_apollo_helper.js4
-rw-r--r--spec/frontend/helpers/startup_css_helper_spec.js20
4 files changed, 31 insertions, 7 deletions
diff --git a/spec/frontend/helpers/fake_date.js b/spec/frontend/helpers/fake_date.js
index 8417b1c520a..387747ab5bd 100644
--- a/spec/frontend/helpers/fake_date.js
+++ b/spec/frontend/helpers/fake_date.js
@@ -15,7 +15,7 @@ export const createFakeDateClass = ctorDefault => {
apply: (target, thisArg, argArray) => {
const ctorArgs = argArray.length ? argArray : ctorDefault;
- return RealDate(...ctorArgs);
+ return new RealDate(...ctorArgs).toString();
},
// We want to overwrite the default 'now', but only if it's not already mocked
get: (target, prop) => {
diff --git a/spec/frontend/helpers/fake_date_spec.js b/spec/frontend/helpers/fake_date_spec.js
index 8afc8225f9b..b3ed13e238a 100644
--- a/spec/frontend/helpers/fake_date_spec.js
+++ b/spec/frontend/helpers/fake_date_spec.js
@@ -13,13 +13,17 @@ describe('spec/helpers/fake_date', () => {
});
it('should use default args', () => {
- expect(new FakeDate()).toEqual(new Date(...DEFAULT_ARGS));
- expect(FakeDate()).toEqual(Date(...DEFAULT_ARGS));
+ expect(new FakeDate()).toMatchInlineSnapshot(`2020-07-06T00:00:00.000Z`);
+ });
+
+ it('should use default args when called as a function', () => {
+ expect(FakeDate()).toMatchInlineSnapshot(
+ `"Mon Jul 06 2020 00:00:00 GMT+0000 (Greenwich Mean Time)"`,
+ );
});
it('should have deterministic now()', () => {
- expect(FakeDate.now()).not.toBe(Date.now());
- expect(FakeDate.now()).toBe(new Date(...DEFAULT_ARGS).getTime());
+ expect(FakeDate.now()).toMatchInlineSnapshot(`1593993600000`);
});
it('should be instanceof Date', () => {
diff --git a/spec/frontend/helpers/mock_apollo_helper.js b/spec/frontend/helpers/mock_apollo_helper.js
index 8a5a160231c..914cce1d662 100644
--- a/spec/frontend/helpers/mock_apollo_helper.js
+++ b/spec/frontend/helpers/mock_apollo_helper.js
@@ -2,14 +2,14 @@ import { InMemoryCache } from 'apollo-cache-inmemory';
import { createMockClient } from 'mock-apollo-client';
import VueApollo from 'vue-apollo';
-export default (handlers = []) => {
+export default (handlers = [], resolvers = {}) => {
const fragmentMatcher = { match: () => true };
const cache = new InMemoryCache({
fragmentMatcher,
addTypename: false,
});
- const mockClient = createMockClient({ cache });
+ const mockClient = createMockClient({ cache, resolvers });
if (Array.isArray(handlers)) {
handlers.forEach(([query, value]) => mockClient.setRequestHandler(query, value));
diff --git a/spec/frontend/helpers/startup_css_helper_spec.js b/spec/frontend/helpers/startup_css_helper_spec.js
index 1a88e80344e..2d560c43fa5 100644
--- a/spec/frontend/helpers/startup_css_helper_spec.js
+++ b/spec/frontend/helpers/startup_css_helper_spec.js
@@ -19,6 +19,26 @@ describe('waitForCSSLoaded', () => {
});
});
+ describe('when gon features is not provided', () => {
+ let originalGon;
+
+ beforeEach(() => {
+ originalGon = window.gon;
+ window.gon = null;
+ });
+
+ afterEach(() => {
+ window.gon = originalGon;
+ });
+
+ it('should invoke the action right away', async () => {
+ const events = waitForCSSLoaded(mockedCallback);
+ await events;
+
+ expect(mockedCallback).toHaveBeenCalledTimes(1);
+ });
+ });
+
describe('with startup css disabled', () => {
gon.features = {
startupCss: false,