Allow hiding of report status icon in report item

Allow hiding of all report items' status icons
This commit is contained in:
Sam Bigelow 2019-05-09 15:57:53 -04:00
parent 84f908fbd6
commit c7d57f2719
4 changed files with 56 additions and 1 deletions

View file

@ -52,6 +52,11 @@ export default {
required: false, required: false,
default: '', default: '',
}, },
showReportSectionStatus: {
type: Boolean,
required: false,
default: true,
},
}, },
computed: { computed: {
issuesWithState() { issuesWithState() {
@ -81,6 +86,7 @@ export default {
:status="wrapped.status" :status="wrapped.status"
:component="component" :component="component"
:is-new="wrapped.isNew" :is-new="wrapped.isNew"
:show-report-section-status="showReportSectionStatus"
/> />
</smart-virtual-list> </smart-virtual-list>
</template> </template>

View file

@ -34,12 +34,22 @@ export default {
required: false, required: false,
default: false, default: false,
}, },
showReportSectionStatusIcon: {
type: Boolean,
required: false,
default: true,
},
}, },
}; };
</script> </script>
<template> <template>
<li :class="{ 'is-dismissed': issue.isDismissed }" class="report-block-list-issue"> <li :class="{ 'is-dismissed': issue.isDismissed }" class="report-block-list-issue">
<issue-status-icon :status="status" :status-icon-size="statusIconSize" class="append-right-5" /> <issue-status-icon
v-if="showReportSectionStatusIcon"
:status="status"
:status-icon-size="statusIconSize"
class="append-right-5"
/>
<component :is="component" v-if="component" :issue="issue" :status="status" :is-new="isNew" /> <component :is="component" v-if="component" :issue="issue" :status="status" :is-new="isNew" />
</li> </li>

View file

@ -73,6 +73,11 @@ export default {
default: () => ({}), default: () => ({}),
required: false, required: false,
}, },
showReportSectionStatusIcon: {
type: Boolean,
required: false,
default: true,
},
}, },
data() { data() {
@ -166,6 +171,7 @@ export default {
:resolved-issues="resolvedIssues" :resolved-issues="resolvedIssues"
:neutral-issues="neutralIssues" :neutral-issues="neutralIssues"
:component="component" :component="component"
:show-report-section-status-icon="showReportSectionStatusIcon"
/> />
</slot> </slot>
</div> </div>

View file

@ -0,0 +1,33 @@
import { shallowMount } from '@vue/test-utils';
import { STATUS_SUCCESS } from '~/reports/constants';
import ReportItem from '~/reports/components/report_item.vue';
import { componentNames } from '~/reports/components/issue_body';
describe('ReportItem', () => {
describe('showReportSectionStatusIcon', () => {
it('does not render CI Status Icon when showReportSectionStatusIcon is false', () => {
const wrapper = shallowMount(ReportItem, {
propsData: {
issue: { foo: 'bar' },
component: componentNames.TestIssueBody,
status: STATUS_SUCCESS,
showReportSectionStatusIcon: false,
},
});
expect(wrapper.find('issuestatusicon-stub').exists()).toBe(false);
});
it('shows status icon when unspecified', () => {
const wrapper = shallowMount(ReportItem, {
propsData: {
issue: { foo: 'bar' },
component: componentNames.TestIssueBody,
status: STATUS_SUCCESS,
},
});
expect(wrapper.find('issuestatusicon-stub').exists()).toBe(true);
});
});
});