Commit a5d2ab99 authored by Kushal Pandya's avatar Kushal Pandya

Merge branch '349949-fix-incident-sidebar-in-issue-boards' into 'master'

Fix Incident sidebar on issue boards

See merge request gitlab-org/gitlab!78021
parents 65c4fdf7 496d339b
...@@ -6,11 +6,12 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow ...@@ -6,11 +6,12 @@ import SidebarDropdownWidget from 'ee_else_ce/sidebar/components/sidebar_dropdow
import { __, sprintf } from '~/locale'; import { __, sprintf } from '~/locale';
import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue'; import BoardSidebarTimeTracker from '~/boards/components/sidebar/board_sidebar_time_tracker.vue';
import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';
import { ISSUABLE } from '~/boards/constants'; import { ISSUABLE, INCIDENT } from '~/boards/constants';
import { getIdFromGraphQLId } from '~/graphql_shared/utils'; import { getIdFromGraphQLId } from '~/graphql_shared/utils';
import SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue'; import SidebarAssigneesWidget from '~/sidebar/components/assignees/sidebar_assignees_widget.vue';
import SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue'; import SidebarConfidentialityWidget from '~/sidebar/components/confidential/sidebar_confidentiality_widget.vue';
import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue'; import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue';
import SidebarSeverity from '~/sidebar/components/severity/sidebar_severity.vue';
import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue'; import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue';
import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue'; import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue';
import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue';
...@@ -29,6 +30,7 @@ export default { ...@@ -29,6 +30,7 @@ export default {
SidebarSubscriptionsWidget, SidebarSubscriptionsWidget,
SidebarDropdownWidget, SidebarDropdownWidget,
SidebarTodoWidget, SidebarTodoWidget,
SidebarSeverity,
MountingPortal, MountingPortal,
SidebarWeightWidget: () => SidebarWeightWidget: () =>
import('ee_component/sidebar/components/weight/sidebar_weight_widget.vue'), import('ee_component/sidebar/components/weight/sidebar_weight_widget.vue'),
...@@ -69,9 +71,15 @@ export default { ...@@ -69,9 +71,15 @@ export default {
isIssuableSidebar() { isIssuableSidebar() {
return this.sidebarType === ISSUABLE; return this.sidebarType === ISSUABLE;
}, },
isIncidentSidebar() {
return this.activeBoardItem.type === INCIDENT;
},
showSidebar() { showSidebar() {
return this.isIssuableSidebar && this.isSidebarOpen; return this.isIssuableSidebar && this.isSidebarOpen;
}, },
sidebarTitle() {
return this.isIncidentSidebar ? __('Incident details') : __('Issue details');
},
fullPath() { fullPath() {
return this.activeBoardItem?.referencePath?.split('#')[0] || ''; return this.activeBoardItem?.referencePath?.split('#')[0] || '';
}, },
...@@ -138,7 +146,7 @@ export default { ...@@ -138,7 +146,7 @@ export default {
@close="handleClose" @close="handleClose"
> >
<template #title> <template #title>
<h2 class="gl-my-0 gl-font-size-h2 gl-line-height-24">{{ __('Issue details') }}</h2> <h2 class="gl-my-0 gl-font-size-h2 gl-line-height-24">{{ sidebarTitle }}</h2>
</template> </template>
<template #header> <template #header>
<sidebar-todo-widget <sidebar-todo-widget
...@@ -159,7 +167,7 @@ export default { ...@@ -159,7 +167,7 @@ export default {
@assignees-updated="setAssignees" @assignees-updated="setAssignees"
/> />
<sidebar-dropdown-widget <sidebar-dropdown-widget
v-if="epicFeatureAvailable" v-if="epicFeatureAvailable && !isIncidentSidebar"
:iid="activeBoardItem.iid" :iid="activeBoardItem.iid"
issuable-attribute="epic" issuable-attribute="epic"
:workspace-path="projectPathForActiveIssue" :workspace-path="projectPathForActiveIssue"
...@@ -178,7 +186,7 @@ export default { ...@@ -178,7 +186,7 @@ export default {
/> />
<template v-if="!glFeatures.iterationCadences"> <template v-if="!glFeatures.iterationCadences">
<sidebar-dropdown-widget <sidebar-dropdown-widget
v-if="iterationFeatureAvailable" v-if="iterationFeatureAvailable && !isIncidentSidebar"
:iid="activeBoardItem.iid" :iid="activeBoardItem.iid"
issuable-attribute="iteration" issuable-attribute="iteration"
:workspace-path="projectPathForActiveIssue" :workspace-path="projectPathForActiveIssue"
...@@ -190,7 +198,7 @@ export default { ...@@ -190,7 +198,7 @@ export default {
</template> </template>
<template v-else> <template v-else>
<iteration-sidebar-dropdown-widget <iteration-sidebar-dropdown-widget
v-if="iterationFeatureAvailable" v-if="iterationFeatureAvailable && !isIncidentSidebar"
:iid="activeBoardItem.iid" :iid="activeBoardItem.iid"
:workspace-path="projectPathForActiveIssue" :workspace-path="projectPathForActiveIssue"
:attr-workspace-path="groupPathForActiveIssue" :attr-workspace-path="groupPathForActiveIssue"
...@@ -226,8 +234,14 @@ export default { ...@@ -226,8 +234,14 @@ export default {
> >
{{ __('None') }} {{ __('None') }}
</sidebar-labels-widget> </sidebar-labels-widget>
<sidebar-severity
v-if="isIncidentSidebar"
:iid="activeBoardItem.iid"
:project-path="fullPath"
:initial-severity="activeBoardItem.severity"
/>
<sidebar-weight-widget <sidebar-weight-widget
v-if="weightFeatureAvailable" v-if="weightFeatureAvailable && !isIncidentSidebar"
:iid="activeBoardItem.iid" :iid="activeBoardItem.iid"
:full-path="fullPath" :full-path="fullPath"
:issuable-type="issuableType" :issuable-type="issuableType"
......
...@@ -54,6 +54,7 @@ export const inactiveId = 0; ...@@ -54,6 +54,7 @@ export const inactiveId = 0;
export const ISSUABLE = 'issuable'; export const ISSUABLE = 'issuable';
export const LIST = 'list'; export const LIST = 'list';
export const INCIDENT = 'INCIDENT';
export const flashAnimationDuration = 2000; export const flashAnimationDuration = 2000;
......
#import "~/graphql_shared/fragments/milestone.fragment.graphql" #import "~/graphql_shared/fragments/issue.fragment.graphql"
#import "~/graphql_shared/fragments/user.fragment.graphql"
fragment IssueNode on Issue { fragment Issue on Issue {
id id
iid ...IssueNode
title
referencePath: reference(full: true)
dueDate
timeEstimate
totalTimeSpent
humanTimeEstimate
humanTotalTimeSpent
emailsDisabled
confidential
hidden
webUrl
relativePosition
milestone {
...MilestoneFragment
}
assignees {
nodes {
...User
}
}
labels {
nodes {
id
title
color
description
}
}
} }
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
mutation CreateIssue($input: CreateIssueInput!) { mutation CreateIssue($input: CreateIssueInput!) {
createIssue(input: $input) { createIssue(input: $input) {
issue { issue {
...IssueNode ...Issue
} }
errors errors
} }
......
...@@ -21,7 +21,7 @@ mutation issueMoveList( ...@@ -21,7 +21,7 @@ mutation issueMoveList(
} }
) { ) {
issue { issue {
...IssueNode ...Issue
} }
errors errors
} }
......
...@@ -22,7 +22,7 @@ query BoardListsEE( ...@@ -22,7 +22,7 @@ query BoardListsEE(
issues(first: $first, filters: $filters, after: $after) { issues(first: $first, filters: $filters, after: $after) {
edges { edges {
node { node {
...IssueNode ...Issue
} }
} }
pageInfo { pageInfo {
...@@ -46,7 +46,7 @@ query BoardListsEE( ...@@ -46,7 +46,7 @@ query BoardListsEE(
issues(first: $first, filters: $filters, after: $after) { issues(first: $first, filters: $filters, after: $after) {
edges { edges {
node { node {
...IssueNode ...Issue
} }
} }
pageInfo { pageInfo {
......
#import "~/graphql_shared/fragments/milestone.fragment.graphql"
#import "~/graphql_shared/fragments/user.fragment.graphql"
fragment IssueNode on Issue {
id
iid
title
referencePath: reference(full: true)
dueDate
timeEstimate
totalTimeSpent
humanTimeEstimate
humanTotalTimeSpent
emailsDisabled
confidential
hidden
webUrl
relativePosition
type
severity
milestone {
...MilestoneFragment
}
assignees {
nodes {
...User
}
}
labels {
nodes {
id
title
color
description
}
}
}
#import "~/graphql_shared/fragments/milestone.fragment.graphql" #import "~/graphql_shared/fragments/issue.fragment.graphql"
#import "~/graphql_shared/fragments/user.fragment.graphql"
fragment IssueNode on Issue { fragment Issue on Issue {
...IssueNode
id id
iid
title
referencePath: reference(full: true)
dueDate
timeEstimate
totalTimeSpent
humanTimeEstimate
humanTotalTimeSpent
weight weight
confidential
hidden
webUrl
blocked blocked
blockedByCount blockedByCount
relativePosition
epic { epic {
id id
} }
assignees {
nodes {
...User
}
}
milestone {
...MilestoneFragment
}
iteration { iteration {
id id
title title
...@@ -37,12 +17,4 @@ fragment IssueNode on Issue { ...@@ -37,12 +17,4 @@ fragment IssueNode on Issue {
title title
} }
} }
labels {
nodes {
id
title
color
description
}
}
} }
...@@ -23,7 +23,7 @@ mutation issueMoveListEE( ...@@ -23,7 +23,7 @@ mutation issueMoveListEE(
} }
) { ) {
issue { issue {
...IssueNode ...Issue
} }
errors errors
} }
......
// Jest Snapshot v1, https://goo.gl/fbAQLP // Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`ee/BoardContentSidebar matches the snapshot 1`] = ` exports[`ee/BoardContentSidebar incident sidebar matches the snapshot 1`] = `
<div
class="boards-sidebar gl-absolute"
>
<h2
class="gl-my-0 gl-font-size-h2 gl-line-height-24"
>
Incident details
</h2>
<sidebartodowidget-stub
class="gl-mt-3"
fullpath="gitlab-org/gitlab-test"
issuableid="gid://gitlab/Issue/436"
issuableiid="27"
issuabletype="issue"
/>
<boardsidebartitle-stub />
<sidebarassigneeswidget-stub
fullpath="gitlab-org/gitlab-test"
iid="27"
initialassignees="[object Object],[object Object]"
issuabletype="issue"
/>
<!---->
<div>
<sidebardropdownwidget-stub
attrworkspacepath="gitlab-org/gitlab-test"
data-testid="sidebar-milestones"
iid="27"
issuableattribute="milestone"
issuabletype="issue"
workspacepath="gitlab-org/gitlab-test"
/>
<!---->
</div>
<boardsidebartimetracker-stub />
<sidebardatewidget-stub
data-testid="sidebar-due-date"
datetype="dueDate"
fullpath="gitlab-org/gitlab-test"
iid="27"
issuabletype="issue"
/>
<sidebarlabelswidget-stub
allowmultiselect="true"
attrworkspacepath="gitlab-org/gitlab-test"
class="block labels"
dropdownbuttontext="Label"
footercreatelabeltitle="Create project label"
footermanagelabeltitle="Manage project labels"
fullpath="gitlab-org/gitlab-test"
iid="27"
issuabletype="issue"
labelcreatetype="project"
labelscreatetitle="Create project label"
labelsfilterbasepath=""
labelsfilterparam="label_name"
labelslisttitle="Assign labels"
variant="sidebar"
workspacetype="project"
>
None
</sidebarlabelswidget-stub>
<div
class="block"
>
<div
class="sidebar-collapsed-icon"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s14 icon-unknown"
data-testid="severity-unknown-icon"
role="img"
>
<use
href="#severity-unknown"
/>
</svg>
<!---->
</div>
<div
class="gl-tooltip"
>
Severity:
Unknown
</div>
</div>
<div
class="hide-collapsed"
>
<p
class="gl-line-height-20 gl-mb-2 gl-text-gray-900 gl-display-flex gl-justify-content-space-between"
>
Severity
<button
class="btn btn-default btn-sm gl-button btn-default-tertiary"
data-testid="editButton"
type="button"
>
<!---->
<!---->
<span
class="gl-button-text"
>
Edit
</span>
</button>
</p>
<div
class="dropdown b-dropdown gl-new-dropdown gl-display-none"
id="__BVID__39"
>
<!---->
<button
aria-expanded="false"
aria-haspopup="true"
class="btn dropdown-toggle btn-default btn-md btn-block dropdown-menu-toggle gl-mb-2 gl-button gl-dropdown-toggle"
id="__BVID__39__BV_toggle_"
type="button"
>
<!---->
<!---->
<span
class="gl-new-dropdown-button-text"
>
Unknown
</span>
<svg
aria-hidden="true"
class="gl-button-icon dropdown-chevron gl-icon s16"
data-testid="chevron-down-icon"
role="img"
>
<use
href="#chevron-down"
/>
</svg>
</button>
<ul
aria-labelledby="__BVID__39__BV_toggle_"
class="dropdown-menu"
role="menu"
tabindex="-1"
>
<div
class="gl-new-dropdown-inner"
>
<div
class="gl-new-dropdown-header gl-border-b-0!"
>
<p
class="gl-new-dropdown-header-top"
>
Assign severity
</p>
</div>
<!---->
<div
class="gl-new-dropdown-contents"
>
<!---->
<li
class="gl-new-dropdown-item"
role="presentation"
>
<button
class="dropdown-item"
data-testid="severityDropdownItem"
role="menuitem"
type="button"
>
<svg
aria-hidden="true"
class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"
data-testid="dropdown-item-checkbox"
role="img"
>
<use
href="#mobile-issue-close"
/>
</svg>
<!---->
<!---->
<div
class="gl-new-dropdown-item-text-wrapper"
>
<p
class="gl-new-dropdown-item-text-primary"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-critical gl-mr-3"
data-testid="severity-critical-icon"
role="img"
>
<use
href="#severity-critical"
/>
</svg>
<span>
Critical - S1
</span>
</div>
</p>
<!---->
</div>
<!---->
</button>
</li>
<li
class="gl-new-dropdown-item"
role="presentation"
>
<button
class="dropdown-item"
data-testid="severityDropdownItem"
role="menuitem"
type="button"
>
<svg
aria-hidden="true"
class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"
data-testid="dropdown-item-checkbox"
role="img"
>
<use
href="#mobile-issue-close"
/>
</svg>
<!---->
<!---->
<div
class="gl-new-dropdown-item-text-wrapper"
>
<p
class="gl-new-dropdown-item-text-primary"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-high gl-mr-3"
data-testid="severity-high-icon"
role="img"
>
<use
href="#severity-high"
/>
</svg>
<span>
High - S2
</span>
</div>
</p>
<!---->
</div>
<!---->
</button>
</li>
<li
class="gl-new-dropdown-item"
role="presentation"
>
<button
class="dropdown-item"
data-testid="severityDropdownItem"
role="menuitem"
type="button"
>
<svg
aria-hidden="true"
class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"
data-testid="dropdown-item-checkbox"
role="img"
>
<use
href="#mobile-issue-close"
/>
</svg>
<!---->
<!---->
<div
class="gl-new-dropdown-item-text-wrapper"
>
<p
class="gl-new-dropdown-item-text-primary"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-medium gl-mr-3"
data-testid="severity-medium-icon"
role="img"
>
<use
href="#severity-medium"
/>
</svg>
<span>
Medium - S3
</span>
</div>
</p>
<!---->
</div>
<!---->
</button>
</li>
<li
class="gl-new-dropdown-item"
role="presentation"
>
<button
class="dropdown-item"
data-testid="severityDropdownItem"
role="menuitem"
type="button"
>
<svg
aria-hidden="true"
class="gl-icon s16 gl-new-dropdown-item-check-icon gl-visibility-hidden gl-mt-3 gl-align-self-start"
data-testid="dropdown-item-checkbox"
role="img"
>
<use
href="#mobile-issue-close"
/>
</svg>
<!---->
<!---->
<div
class="gl-new-dropdown-item-text-wrapper"
>
<p
class="gl-new-dropdown-item-text-primary"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-low gl-mr-3"
data-testid="severity-low-icon"
role="img"
>
<use
href="#severity-low"
/>
</svg>
<span>
Low - S4
</span>
</div>
</p>
<!---->
</div>
<!---->
</button>
</li>
<li
class="gl-new-dropdown-item"
role="presentation"
>
<button
class="dropdown-item"
data-testid="severityDropdownItem"
role="menuitem"
type="button"
>
<svg
aria-hidden="true"
class="gl-icon s16 gl-new-dropdown-item-check-icon gl-mt-3 gl-align-self-start"
data-testid="dropdown-item-checkbox"
role="img"
>
<use
href="#mobile-issue-close"
/>
</svg>
<!---->
<!---->
<div
class="gl-new-dropdown-item-text-wrapper"
>
<p
class="gl-new-dropdown-item-text-primary"
>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-unknown gl-mr-3"
data-testid="severity-unknown-icon"
role="img"
>
<use
href="#severity-unknown"
/>
</svg>
<span>
Unknown
</span>
</div>
</p>
<!---->
</div>
<!---->
</button>
</li>
</div>
<!---->
</div>
</ul>
</div>
<div
class="incident-severity gl-display-inline-flex gl-align-items-center gl-justify-content-between"
>
<svg
aria-hidden="true"
class="gl-icon s12 icon-unknown gl-mr-3"
data-testid="severity-unknown-icon"
role="img"
>
<use
href="#severity-unknown"
/>
</svg>
<span>
Unknown
</span>
</div>
</div>
</div>
<!---->
<sidebarconfidentialitywidget-stub
fullpath="gitlab-org/gitlab-test"
iid="27"
issuabletype="issue"
/>
<sidebarsubscriptionswidget-stub
data-testid="sidebar-notifications"
fullpath="gitlab-org/gitlab-test"
iid="27"
issuabletype="issue"
/>
</div>
`;
exports[`ee/BoardContentSidebar issue sidebar matches the snapshot 1`] = `
<div <div
class="boards-sidebar gl-absolute" class="boards-sidebar gl-absolute"
> >
...@@ -90,6 +617,8 @@ exports[`ee/BoardContentSidebar matches the snapshot 1`] = ` ...@@ -90,6 +617,8 @@ exports[`ee/BoardContentSidebar matches the snapshot 1`] = `
</sidebarlabelswidget-stub> </sidebarlabelswidget-stub>
<!---->
<sidebarweightwidget-stub <sidebarweightwidget-stub
full-path="gitlab-org/gitlab-test" full-path="gitlab-org/gitlab-test"
iid="27" iid="27"
......
...@@ -86,17 +86,31 @@ describe('ee/BoardContentSidebar', () => { ...@@ -86,17 +86,31 @@ describe('ee/BoardContentSidebar', () => {
}); });
}; };
beforeEach(() => {
createStore();
createComponent();
});
afterEach(() => { afterEach(() => {
wrapper.destroy(); wrapper.destroy();
wrapper = null;
}); });
it('matches the snapshot', () => { describe('issue sidebar', () => {
expect(wrapper.find(GlDrawer).element).toMatchSnapshot(); beforeEach(() => {
createStore();
createComponent();
});
it('matches the snapshot', () => {
expect(wrapper.findComponent(GlDrawer).element).toMatchSnapshot();
});
});
describe('incident sidebar', () => {
beforeEach(() => {
createStore({
mockGetters: { activeBoardItem: () => ({ ...mockIssue, epic: null, type: 'INCIDENT' }) },
});
createComponent();
});
it('matches the snapshot', () => {
expect(wrapper.findComponent(GlDrawer).element).toMatchSnapshot();
});
}); });
}); });
...@@ -18654,6 +18654,9 @@ msgstr "" ...@@ -18654,6 +18654,9 @@ msgstr ""
msgid "Incident Management Limits" msgid "Incident Management Limits"
msgstr "" msgstr ""
msgid "Incident details"
msgstr ""
msgid "Incident template (optional)." msgid "Incident template (optional)."
msgstr "" msgstr ""
......
...@@ -9,6 +9,7 @@ import BoardContentSidebar from '~/boards/components/board_content_sidebar.vue'; ...@@ -9,6 +9,7 @@ import BoardContentSidebar from '~/boards/components/board_content_sidebar.vue';
import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue'; import BoardSidebarTitle from '~/boards/components/sidebar/board_sidebar_title.vue';
import { ISSUABLE } from '~/boards/constants'; import { ISSUABLE } from '~/boards/constants';
import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue'; import SidebarDateWidget from '~/sidebar/components/date/sidebar_date_widget.vue';
import SidebarSeverity from '~/sidebar/components/severity/sidebar_severity.vue';
import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue'; import SidebarSubscriptionsWidget from '~/sidebar/components/subscriptions/sidebar_subscriptions_widget.vue';
import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue'; import SidebarTodoWidget from '~/sidebar/components/todo_toggle/sidebar_todo_widget.vue';
import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue'; import SidebarLabelsWidget from '~/vue_shared/components/sidebar/labels_select_widget/labels_select_root.vue';
...@@ -96,7 +97,7 @@ describe('BoardContentSidebar', () => { ...@@ -96,7 +97,7 @@ describe('BoardContentSidebar', () => {
}); });
it('confirms we render MountingPortal', () => { it('confirms we render MountingPortal', () => {
expect(wrapper.find(MountingPortal).props()).toMatchObject({ expect(wrapper.findComponent(MountingPortal).props()).toMatchObject({
mountTo: '#js-right-sidebar-portal', mountTo: '#js-right-sidebar-portal',
append: true, append: true,
name: 'board-content-sidebar', name: 'board-content-sidebar',
...@@ -141,6 +142,10 @@ describe('BoardContentSidebar', () => { ...@@ -141,6 +142,10 @@ describe('BoardContentSidebar', () => {
); );
}); });
it('does not render SidebarSeverity', () => {
expect(wrapper.findComponent(SidebarSeverity).exists()).toBe(false);
});
describe('when we emit close', () => { describe('when we emit close', () => {
let toggleBoardItem; let toggleBoardItem;
...@@ -160,4 +165,17 @@ describe('BoardContentSidebar', () => { ...@@ -160,4 +165,17 @@ describe('BoardContentSidebar', () => {
}); });
}); });
}); });
describe('incident sidebar', () => {
beforeEach(() => {
createStore({
mockGetters: { activeBoardItem: () => ({ ...mockIssue, epic: null, type: 'INCIDENT' }) },
});
createComponent();
});
it('renders SidebarSeverity', () => {
expect(wrapper.findComponent(SidebarSeverity).exists()).toBe(true);
});
});
}); });
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment