From 6724a6ee6b0898470e20f294f1328cc01891756a Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 4 Sep 2020 12:08:27 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/frontend/helpers/mock_apollo_helper.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 spec/frontend/helpers/mock_apollo_helper.js (limited to 'spec/frontend/helpers') diff --git a/spec/frontend/helpers/mock_apollo_helper.js b/spec/frontend/helpers/mock_apollo_helper.js new file mode 100644 index 00000000000..8a5a160231c --- /dev/null +++ b/spec/frontend/helpers/mock_apollo_helper.js @@ -0,0 +1,23 @@ +import { InMemoryCache } from 'apollo-cache-inmemory'; +import { createMockClient } from 'mock-apollo-client'; +import VueApollo from 'vue-apollo'; + +export default (handlers = []) => { + const fragmentMatcher = { match: () => true }; + const cache = new InMemoryCache({ + fragmentMatcher, + addTypename: false, + }); + + const mockClient = createMockClient({ cache }); + + if (Array.isArray(handlers)) { + handlers.forEach(([query, value]) => mockClient.setRequestHandler(query, value)); + } else { + throw new Error('You should pass an array of handlers to mock Apollo client'); + } + + const apolloProvider = new VueApollo({ defaultClient: mockClient }); + + return apolloProvider; +}; -- cgit v1.2.1