diff --git a/frontend/__tests__/components/WorkflowDashboard.test.js b/frontend/__tests__/components/WorkflowDashboard.test.js index 2ecbc2ad..5266cc02 100644 --- a/frontend/__tests__/components/WorkflowDashboard.test.js +++ b/frontend/__tests__/components/WorkflowDashboard.test.js @@ -230,6 +230,17 @@ describe('', () => { expect(workflowDashboardWrapper.html()).toMatchSnapshot(); }); + it('should render only job name', async () => { + vi.spyOn(preferences, 'showOnlyJobName', 'get').mockReturnValueOnce(true); + + fetchCctrayJson.mockResolvedValueOnce([jobDetails1, jobDetails2]); + const workflowDashboardWrapper = mountWithWrapper(WorkflowDashboard); + + await flushPromises(); + + expect(workflowDashboardWrapper.findComponent(Job).find('a').text()).toBe('Cancel Previous Runs'); + }); + it.each([ ['branch_protection_rule', [{ ...jobDetails1, triggeredEvent: 'branch_protection_rule' }, jobDetails2]], ['check_run', [{ ...jobDetails1, triggeredEvent: 'check_run' }, jobDetails2]], diff --git a/frontend/src/components/Preferences.vue b/frontend/src/components/Preferences.vue index 0784bd64..fc6e031f 100644 --- a/frontend/src/components/Preferences.vue +++ b/frontend/src/components/Preferences.vue @@ -39,6 +39,15 @@ @update:model-value="modelValueUpdated" /> + + + this.showHealthyBuilds ? true : !this.isIdleHealthyBuild(lastBuildStatus, activity)) .filter(({ triggeredEvent }) => !this.hasPreferredTriggeredEvents || - preferences.showBuildsDueToTriggeredEvents.indexOf(triggeredEvent) !== -1); + preferences.showBuildsDueToTriggeredEvents.indexOf(triggeredEvent) !== -1) + .map(this.mapNameIfPreferred); } } }; diff --git a/frontend/src/services/preferences.js b/frontend/src/services/preferences.js index 8c0846b3..5cb6f2a7 100644 --- a/frontend/src/services/preferences.js +++ b/frontend/src/services/preferences.js @@ -70,6 +70,14 @@ class Preferences { set showBuildsDueToTriggeredEvents(events) { this.__set__('show-builds-due-to-triggered-events', JSON.stringify(events)); } + + set showOnlyJobName(value) { + this.__set__('show-only-job-name', JSON.stringify(value)); + } + + get showOnlyJobName() { + return JSON.parse(this.__get__('show-only-job-name')); + } } export default new Preferences(); diff --git a/frontend/vite.config.js b/frontend/vite.config.js index f93fd214..553c9f3b 100644 --- a/frontend/vite.config.js +++ b/frontend/vite.config.js @@ -44,10 +44,10 @@ export default defineConfig({ coverage: { reporter: ['text', 'html'], all: true, - statements: 80.58, - branches: 94.64, - functions: 43.65, - lines: 80.58, + statements: 80.62, + branches: 94.87, + functions: 44.18, + lines: 80.62, thresholdAutoUpdate: true }, setupFiles: '__tests__/vitest.setup.js'