diff options
Diffstat (limited to 'spec/frontend/work_items/router_spec.js')
-rw-r--r-- | spec/frontend/work_items/router_spec.js | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/spec/frontend/work_items/router_spec.js b/spec/frontend/work_items/router_spec.js index 99dcd886f7b..ab370e2ca8b 100644 --- a/spec/frontend/work_items/router_spec.js +++ b/spec/frontend/work_items/router_spec.js @@ -1,5 +1,18 @@ import { mount } from '@vue/test-utils'; +import Vue from 'vue'; +import VueApollo from 'vue-apollo'; +import workItemWeightSubscription from 'ee_component/work_items/graphql/work_item_weight.subscription.graphql'; +import createMockApollo from 'helpers/mock_apollo_helper'; +import { + workItemDatesSubscriptionResponse, + workItemResponseFactory, + workItemTitleSubscriptionResponse, + workItemWeightSubscriptionResponse, +} from 'jest/work_items/mock_data'; import App from '~/work_items/components/app.vue'; +import workItemQuery from '~/work_items/graphql/work_item.query.graphql'; +import workItemDatesSubscription from '~/work_items/graphql/work_item_dates.subscription.graphql'; +import workItemTitleSubscription from '~/work_items/graphql/work_item_title.subscription.graphql'; import CreateWorkItem from '~/work_items/pages/create_work_item.vue'; import WorkItemsRoot from '~/work_items/pages/work_item_root.vue'; import { createRouter } from '~/work_items/router'; @@ -7,26 +20,36 @@ import { createRouter } from '~/work_items/router'; describe('Work items router', () => { let wrapper; + Vue.use(VueApollo); + + const workItemQueryHandler = jest.fn().mockResolvedValue(workItemResponseFactory()); + const datesSubscriptionHandler = jest.fn().mockResolvedValue(workItemDatesSubscriptionResponse); + const titleSubscriptionHandler = jest.fn().mockResolvedValue(workItemTitleSubscriptionResponse); + const weightSubscriptionHandler = jest.fn().mockResolvedValue(workItemWeightSubscriptionResponse); + const createComponent = async (routeArg) => { const router = createRouter('/work_item'); if (routeArg !== undefined) { await router.push(routeArg); } + const handlers = [ + [workItemQuery, workItemQueryHandler], + [workItemDatesSubscription, datesSubscriptionHandler], + [workItemTitleSubscription, titleSubscriptionHandler], + ]; + + if (IS_EE) { + handlers.push([workItemWeightSubscription, weightSubscriptionHandler]); + } + wrapper = mount(App, { + apolloProvider: createMockApollo(handlers), router, provide: { fullPath: 'full-path', issuesListPath: 'full-path/-/issues', }, - mocks: { - $apollo: { - queries: { - workItem: {}, - workItemTypes: {}, - }, - }, - }, }); }; |