From dc01b4172c201e8fd34a20737b68503519521179 Mon Sep 17 00:00:00 2001 From: Ammar Alakkad Date: Wed, 27 Aug 2025 17:44:15 +0300 Subject: [PATCH 1/7] Add usage billing app skeleton with its story --- .../usage_billing/components/app.stories.js | 14 +++++ .../usage_billing/components/app.vue | 56 +++++++++++++++++++ .../usage_billing/components/app_spec.js | 33 +++++++++++ locale/gitlab.pot | 24 ++++++++ 4 files changed, 127 insertions(+) create mode 100644 ee/app/assets/javascripts/usage_billing/components/app.stories.js create mode 100644 ee/app/assets/javascripts/usage_billing/components/app.vue create mode 100644 ee/spec/frontend/usage_billing/components/app_spec.js diff --git a/ee/app/assets/javascripts/usage_billing/components/app.stories.js b/ee/app/assets/javascripts/usage_billing/components/app.stories.js new file mode 100644 index 00000000000000..e71a8fa00ce529 --- /dev/null +++ b/ee/app/assets/javascripts/usage_billing/components/app.stories.js @@ -0,0 +1,14 @@ +import UsageBillingApp from './app.vue'; + +export default { + component: UsageBillingApp, + title: 'ee/usage_billing/App', +}; + +const Template = (args, { argTypes }) => ({ + props: Object.keys(argTypes), + components: { UsageBillingApp }, + template: '', +}); + +export const Default = Template.bind({}); diff --git a/ee/app/assets/javascripts/usage_billing/components/app.vue b/ee/app/assets/javascripts/usage_billing/components/app.vue new file mode 100644 index 00000000000000..b798a658ada936 --- /dev/null +++ b/ee/app/assets/javascripts/usage_billing/components/app.vue @@ -0,0 +1,56 @@ + + diff --git a/ee/spec/frontend/usage_billing/components/app_spec.js b/ee/spec/frontend/usage_billing/components/app_spec.js new file mode 100644 index 00000000000000..ddadd2bcfd3bb8 --- /dev/null +++ b/ee/spec/frontend/usage_billing/components/app_spec.js @@ -0,0 +1,33 @@ +import { GlTab } from '@gitlab/ui'; +import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; +import UsageBillingApp from 'ee/usage_billing/components/app.vue'; + +describe('UsageBillingApp', () => { + /** @type {import('helpers/vue_test_utils_helper').ExtendedWrapper} */ + let wrapper; + + const createComponent = () => { + wrapper = shallowMountExtended(UsageBillingApp); + }; + + const findTabs = () => wrapper.findAllComponents(GlTab); + + describe('rendering elements', () => { + beforeEach(() => { + createComponent(); + }); + + it('renders the page title', () => { + expect(wrapper.findByTestId('usage-billing-title').text()).toBe('Usage Billing'); + }); + + it('renders the correct tabs', () => { + const tabs = findTabs(); + + expect(tabs.at(0).text()).toBe('Usage trends'); + expect(tabs.at(1).text()).toBe('Usage by user'); + expect(tabs.at(2).text()).toBe('Usage by feature (agent)'); + expect(tabs.at(3).text()).toBe('Usage by project'); + }); + }); +}); diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 5f434d8c1b9afa..5003c0a9b4087a 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -68713,9 +68713,33 @@ msgstr "" msgid "Usage trends" msgstr "" +msgid "UsageBilling|Current month usage" +msgstr "" + +msgid "UsageBilling|Export usage data" +msgstr "" + +msgid "UsageBilling|Purchase a monthly commitment" +msgstr "" + +msgid "UsageBilling|Set usage alerts" +msgstr "" + msgid "UsageBilling|Usage Billing" msgstr "" +msgid "UsageBilling|Usage by feature (agent)" +msgstr "" + +msgid "UsageBilling|Usage by project" +msgstr "" + +msgid "UsageBilling|Usage by user" +msgstr "" + +msgid "UsageBilling|Usage trends" +msgstr "" + msgid "UsageQuotas|(of %{totalStorageSize})" msgstr "" -- GitLab From dfcc8cd4abb2e9467e7dc6ea844bd8ae9e410dcb Mon Sep 17 00:00:00 2001 From: Ammar Alakkad Date: Mon, 1 Sep 2025 15:44:49 +0300 Subject: [PATCH 2/7] Clean up usage app from unneeded tabs and button --- .../javascripts/usage_billing/components/app.vue | 13 +------------ .../frontend/usage_billing/components/app_spec.js | 6 ++---- locale/gitlab.pot | 12 ------------ 3 files changed, 3 insertions(+), 28 deletions(-) diff --git a/ee/app/assets/javascripts/usage_billing/components/app.vue b/ee/app/assets/javascripts/usage_billing/components/app.vue index b798a658ada936..55c93012267512 100644 --- a/ee/app/assets/javascripts/usage_billing/components/app.vue +++ b/ee/app/assets/javascripts/usage_billing/components/app.vue @@ -1,12 +1,11 @@