diff options
Diffstat (limited to 'spec/frontend/work_items/components/work_item_detail_spec.js')
-rw-r--r-- | spec/frontend/work_items/components/work_item_detail_spec.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/frontend/work_items/components/work_item_detail_spec.js b/spec/frontend/work_items/components/work_item_detail_spec.js index 630eb78d5c0..557ae07969e 100644 --- a/spec/frontend/work_items/components/work_item_detail_spec.js +++ b/spec/frontend/work_items/components/work_item_detail_spec.js @@ -9,6 +9,7 @@ import { import { shallowMount } from '@vue/test-utils'; import Vue, { nextTick } from 'vue'; import VueApollo from 'vue-apollo'; +import { isLoggedIn } from '~/lib/utils/common_utils'; import createMockApollo from 'helpers/mock_apollo_helper'; import waitForPromises from 'helpers/wait_for_promises'; import setWindowLocation from 'helpers/set_window_location_helper'; @@ -27,6 +28,7 @@ import WorkItemTree from '~/work_items/components/work_item_links/work_item_tree import WorkItemNotes from '~/work_items/components/work_item_notes.vue'; import WorkItemDetailModal from '~/work_items/components/work_item_detail_modal.vue'; import AbuseCategorySelector from '~/abuse_reports/components/abuse_category_selector.vue'; +import WorkItemTodos from '~/work_items/components/work_item_todos.vue'; import { i18n } from '~/work_items/constants'; import workItemByIidQuery from '~/work_items/graphql/work_item_by_iid.query.graphql'; import workItemDatesSubscription from '~/graphql_shared/subscriptions/work_item_dates.subscription.graphql'; @@ -47,6 +49,8 @@ import { mockWorkItemCommentNote, } from '../mock_data'; +jest.mock('~/lib/utils/common_utils'); + describe('WorkItemDetail component', () => { let wrapper; @@ -91,6 +95,7 @@ describe('WorkItemDetail component', () => { const findNotesWidget = () => wrapper.findComponent(WorkItemNotes); const findModal = () => wrapper.findComponent(WorkItemDetailModal); const findAbuseCategorySelector = () => wrapper.findComponent(AbuseCategorySelector); + const findWorkItemTodos = () => wrapper.findComponent(WorkItemTodos); const createComponent = ({ isModal = false, @@ -114,6 +119,7 @@ describe('WorkItemDetail component', () => { wrapper = shallowMount(WorkItemDetail, { apolloProvider: createMockApollo(handlers), + isLoggedIn: isLoggedIn(), propsData: { isModal, workItemId, workItemIid }, data() { return { @@ -146,6 +152,10 @@ describe('WorkItemDetail component', () => { }); }; + beforeEach(() => { + isLoggedIn.mockReturnValue(true); + }); + afterEach(() => { setWindowLocation(''); }); @@ -187,6 +197,10 @@ describe('WorkItemDetail component', () => { it('updates the document title', () => { expect(document.title).toEqual('Updated title · Task · test-project-path'); }); + + it('renders todos widget if logged in', () => { + expect(findWorkItemTodos().exists()).toBe(true); + }); }); describe('close button', () => { @@ -768,4 +782,16 @@ describe('WorkItemDetail component', () => { expect(findAbuseCategorySelector().exists()).toBe(false); }); }); + + describe('todos widget', () => { + beforeEach(async () => { + isLoggedIn.mockReturnValue(false); + createComponent(); + await waitForPromises(); + }); + + it('does not renders if not logged in', () => { + expect(findWorkItemTodos().exists()).toBe(false); + }); + }); }); |