From 4515b08cbe062571f7a87b038357ec2acaba29e6 Mon Sep 17 00:00:00 2001 From: Zack Cuddy <zcuddy@gitlab.com> Date: Fri, 15 Sep 2023 09:43:03 +0000 Subject: [PATCH] Silent Mode - Add experiment badge This change adds the experiment badge to the settings. Changelog: added --- .../silent_mode_settings/components/app.vue | 10 ++++++++-- .../silent_mode_settings/components/app_spec.js | 13 ++++++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/silent_mode_settings/components/app.vue b/app/assets/javascripts/silent_mode_settings/components/app.vue index a151492c75c54..2dd0449448cb2 100644 --- a/app/assets/javascripts/silent_mode_settings/components/app.vue +++ b/app/assets/javascripts/silent_mode_settings/components/app.vue @@ -1,5 +1,5 @@ <script> -import { GlToggle } from '@gitlab/ui'; +import { GlToggle, GlBadge } from '@gitlab/ui'; import { updateApplicationSettings } from '~/rest_api'; import { createAlert } from '~/alert'; import toast from '~/vue_shared/plugins/global_toast'; @@ -13,9 +13,11 @@ export default { saveError: s__('SilentMode|There was an error updating the Silent Mode Settings.'), enabled: __('enabled'), disabled: __('disabled'), + experiment: __('Experiment'), }, components: { GlToggle, + GlBadge, }, props: { isSilentModeEnabled: { @@ -60,5 +62,9 @@ export default { :label="$options.i18n.toggleLabel" :is-loading="isLoading" @change="updateSilentModeSettings" - /> + > + <template #label + >{{ $options.i18n.toggleLabel }} <gl-badge>{{ $options.i18n.experiment }}</gl-badge></template + > + </gl-toggle> </template> diff --git a/spec/frontend/silent_mode_settings/components/app_spec.js b/spec/frontend/silent_mode_settings/components/app_spec.js index dfa2b1bfcbb6d..5997bfd1b5f31 100644 --- a/spec/frontend/silent_mode_settings/components/app_spec.js +++ b/spec/frontend/silent_mode_settings/components/app_spec.js @@ -1,4 +1,4 @@ -import { GlToggle } from '@gitlab/ui'; +import { GlToggle, GlBadge } from '@gitlab/ui'; import { shallowMount } from '@vue/test-utils'; import waitForPromises from 'helpers/wait_for_promises'; import { createAlert } from '~/alert'; @@ -29,8 +29,19 @@ describe('SilentModeSettingsApp', () => { }; const findGlToggle = () => wrapper.findComponent(GlToggle); + const findGlBadge = () => wrapper.findComponent(GlBadge); describe('template', () => { + describe('experiment badge', () => { + beforeEach(() => { + createComponent(); + }); + + it('renders properly', () => { + expect(findGlBadge().exists()).toBe(true); + }); + }); + describe('when silent mode is already enabled', () => { beforeEach(() => { createComponent({ isSilentModeEnabled: true }); -- GitLab