From 6347ff97777cd45433ea0390e6d625449ed3ee48 Mon Sep 17 00:00:00 2001
From: Rahul Chanila <rchanila@gitlab.com>
Date: Mon, 20 Jun 2022 15:23:15 +1000
Subject: [PATCH] Container registry: stop appending Root image

Changelog: changed
---
 .../explorer/components/details_page/details_header.vue     | 3 +--
 .../explorer/components/list_page/image_list_row.vue        | 3 +--
 .../container_registry/explorer/constants/common.js         | 3 +--
 .../container_registry/explorer/pages/details.vue           | 3 +--
 locale/gitlab.pot                                           | 3 ---
 .../explorer/components/details_page/details_header_spec.js | 6 +++---
 .../explorer/components/list_page/image_list_row_spec.js    | 5 ++---
 .../container_registry/explorer/pages/details_spec.js       | 5 ++---
 8 files changed, 11 insertions(+), 20 deletions(-)

diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue
index ab0418388cd9a..5d77ff9dc0d45 100644
--- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue
+++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/details_page/details_header.vue
@@ -20,7 +20,6 @@ import {
   UNSCHEDULED_STATUS,
   SCHEDULED_STATUS,
   ONGOING_STATUS,
-  ROOT_IMAGE_TEXT,
   ROOT_IMAGE_TOOLTIP,
 } from '../../constants/index';
 
@@ -100,7 +99,7 @@ export default {
       return !this.imageDetails.name ? ROOT_IMAGE_TOOLTIP : '';
     },
     imageName() {
-      return this.imageDetails.name || ROOT_IMAGE_TEXT;
+      return this.imageDetails.name || this.imageDetails.project?.path;
     },
     formattedSize() {
       const { size } = this.imageDetails;
diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/list_page/image_list_row.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/list_page/image_list_row.vue
index e67d77210bb00..b7d7e2bacc1f0 100644
--- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/list_page/image_list_row.vue
+++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/components/list_page/image_list_row.vue
@@ -13,7 +13,6 @@ import {
   IMAGE_DELETE_SCHEDULED_STATUS,
   IMAGE_FAILED_DELETED_STATUS,
   IMAGE_MIGRATING_STATE,
-  ROOT_IMAGE_TEXT,
   COPY_IMAGE_PATH_TITLE,
 } from '../../constants/index';
 import DeleteButton from '../delete_button.vue';
@@ -79,7 +78,7 @@ export default {
       );
     },
     imageName() {
-      return this.item.name ? this.item.path : `${this.item.path}/ ${ROOT_IMAGE_TEXT}`;
+      return this.item.path;
     },
     routerLinkEvent() {
       return this.deleting ? '' : 'click';
diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/constants/common.js b/app/assets/javascripts/packages_and_registries/container_registry/explorer/constants/common.js
index 17adaec7a7d1c..67ad281b835ca 100644
--- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/constants/common.js
+++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/constants/common.js
@@ -1,6 +1,5 @@
-import { s__, __ } from '~/locale';
+import { __ } from '~/locale';
 
-export const ROOT_IMAGE_TEXT = s__('ContainerRegistry|Root image');
 export const MORE_ACTIONS_TEXT = __('More actions');
 
 export const NAME_SORT_FIELD = { orderBy: 'NAME', label: __('Name') };
diff --git a/app/assets/javascripts/packages_and_registries/container_registry/explorer/pages/details.vue b/app/assets/javascripts/packages_and_registries/container_registry/explorer/pages/details.vue
index 71a85d8885ebb..9ebbdfa920d30 100644
--- a/app/assets/javascripts/packages_and_registries/container_registry/explorer/pages/details.vue
+++ b/app/assets/javascripts/packages_and_registries/container_registry/explorer/pages/details.vue
@@ -24,7 +24,6 @@ import {
   FETCH_IMAGES_LIST_ERROR_MESSAGE,
   UNFINISHED_STATUS,
   MISSING_OR_DELETED_IMAGE_BREADCRUMB,
-  ROOT_IMAGE_TEXT,
   GRAPHQL_PAGE_SIZE,
   MISSING_OR_DELETED_IMAGE_TITLE,
   MISSING_OR_DELETED_IMAGE_MESSAGE,
@@ -111,7 +110,7 @@ export default {
   methods: {
     updateBreadcrumb() {
       const name = this.containerRepository?.id
-        ? this.containerRepository?.name || ROOT_IMAGE_TEXT
+        ? this.containerRepository?.name || this.containerRepository?.project?.path
         : MISSING_OR_DELETED_IMAGE_BREADCRUMB;
       this.breadCrumbState.updateName(name);
     },
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 1e1307276fed2..a340b67900012 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -10032,9 +10032,6 @@ msgstr ""
 msgid "ContainerRegistry|Remove these tags"
 msgstr ""
 
-msgid "ContainerRegistry|Root image"
-msgstr ""
-
 msgid "ContainerRegistry|Run cleanup:"
 msgstr ""
 
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
index ca666e382917e..9982286c62509 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/details_page/details_header_spec.js
@@ -18,7 +18,6 @@ import {
   CLEANUP_SCHEDULED_TOOLTIP,
   CLEANUP_ONGOING_TOOLTIP,
   CLEANUP_UNFINISHED_TOOLTIP,
-  ROOT_IMAGE_TEXT,
   ROOT_IMAGE_TOOLTIP,
 } from '~/packages_and_registries/container_registry/explorer/constants';
 import getContainerRepositoryMetadata from '~/packages_and_registries/container_registry/explorer/graphql/queries/get_container_repository_metadata.query.graphql';
@@ -35,6 +34,7 @@ describe('Details Header', () => {
     canDelete: true,
     project: {
       visibility: 'public',
+      path: 'path',
       containerExpirationPolicy: {
         enabled: false,
       },
@@ -98,8 +98,8 @@ describe('Details Header', () => {
         return waitForPromises();
       });
 
-      it('root image ', () => {
-        expect(findTitle().text()).toBe(ROOT_IMAGE_TEXT);
+      it('root image shows project path name', () => {
+        expect(findTitle().text()).toBe('path');
       });
 
       it('has an icon', () => {
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
index 979e1500d7d62..301acf238e781 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/components/list_page/image_list_row_spec.js
@@ -12,7 +12,6 @@ import {
   IMAGE_DELETE_SCHEDULED_STATUS,
   IMAGE_MIGRATING_STATE,
   SCHEDULED_STATUS,
-  ROOT_IMAGE_TEXT,
   COPY_IMAGE_PATH_TITLE,
 } from '~/packages_and_registries/container_registry/explorer/constants';
 import ClipboardButton from '~/vue_shared/components/clipboard_button.vue';
@@ -96,10 +95,10 @@ describe('Image List Row', () => {
       });
     });
 
-    it(`when the image has no name appends ${ROOT_IMAGE_TEXT} to the path`, () => {
+    it(`when the image has no name lists the path`, () => {
       mountComponent({ item: { ...item, name: '' } });
 
-      expect(findDetailsLink().text()).toBe(`${item.path}/ ${ROOT_IMAGE_TEXT}`);
+      expect(findDetailsLink().text()).toBe(item.path);
     });
 
     it('contains a clipboard button', () => {
diff --git a/spec/frontend/packages_and_registries/container_registry/explorer/pages/details_spec.js b/spec/frontend/packages_and_registries/container_registry/explorer/pages/details_spec.js
index 59ca47bee50c4..1d161888a4d20 100644
--- a/spec/frontend/packages_and_registries/container_registry/explorer/pages/details_spec.js
+++ b/spec/frontend/packages_and_registries/container_registry/explorer/pages/details_spec.js
@@ -20,7 +20,6 @@ import {
   ALERT_DANGER_IMAGE,
   ALERT_DANGER_IMPORTING,
   MISSING_OR_DELETED_IMAGE_BREADCRUMB,
-  ROOT_IMAGE_TEXT,
   MISSING_OR_DELETED_IMAGE_TITLE,
   MISSING_OR_DELETED_IMAGE_MESSAGE,
 } from '~/packages_and_registries/container_registry/explorer/constants';
@@ -482,7 +481,7 @@ describe('Details Page', () => {
       expect(breadCrumbState.updateName).toHaveBeenCalledWith(MISSING_OR_DELETED_IMAGE_BREADCRUMB);
     });
 
-    it(`when the image has no name set the breadcrumb to ${ROOT_IMAGE_TEXT}`, async () => {
+    it(`when the image has no name set the breadcrumb to project name`, async () => {
       mountComponent({
         resolver: jest
           .fn()
@@ -491,7 +490,7 @@ describe('Details Page', () => {
 
       await waitForApolloRequestRender();
 
-      expect(breadCrumbState.updateName).toHaveBeenCalledWith(ROOT_IMAGE_TEXT);
+      expect(breadCrumbState.updateName).toHaveBeenCalledWith('gitlab-test');
     });
   });
 
-- 
GitLab