diff --git a/app/assets/javascripts/packages_and_registries/infrastructure_registry/shared/package_list_row.vue b/app/assets/javascripts/packages_and_registries/infrastructure_registry/shared/package_list_row.vue index c92208abfc35263297c5668391b8e438bab78295..73814974d351f23993424de6a4bf000b4aefb920 100644 --- a/app/assets/javascripts/packages_and_registries/infrastructure_registry/shared/package_list_row.vue +++ b/app/assets/javascripts/packages_and_registries/infrastructure_registry/shared/package_list_row.vue @@ -56,7 +56,7 @@ export default { }, computed: { hasPipeline() { - return Boolean(this.packageEntity.pipeline); + return Boolean(this.packageEntity.pipeline?.user?.name); }, hasProjectLink() { return Boolean(this.packageEntity.project_path); diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap index 75cc7e5b78daa85f373c4ff0d79831680a914b67..de979132133b69121d0c415cfb15ad8bab7cb61d 100644 --- a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap +++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/__snapshots__/package_list_row_spec.js.snap @@ -62,9 +62,12 @@ exports[`packages_list_row renders 1`] = ` class="gl-align-items-center gl-display-flex gl-min-h-6" > <span> - <gl-sprintf-stub - message="Created %{timestamp}" - /> + Created + <span + title="December 10, 2015 at 12:00:00 AM GMT" + > + 4 years ago + </span> </span> </div> </div> diff --git a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js index d00d7180f754ce8cd4ccf89c3ae684ab30f00831..0ef0949de1e1db5db24adcaba31e3c29c26cccbe 100644 --- a/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js +++ b/spec/frontend/packages_and_registries/infrastructure_registry/components/shared/package_list_row_spec.js @@ -1,4 +1,4 @@ -import { GlLink } from '@gitlab/ui'; +import { GlLink, GlSprintf } from '@gitlab/ui'; import { nextTick } from 'vue'; import { shallowMountExtended } from 'helpers/vue_test_utils_helper'; import { createMockDirective, getBinding } from 'helpers/vue_mock_directive'; @@ -9,7 +9,7 @@ import PackageTags from '~/packages_and_registries/shared/components/package_tag import { PACKAGE_ERROR_STATUS } from '~/packages_and_registries/shared/constants'; import ListItem from '~/vue_shared/components/registry/list_item.vue'; -import { packageList } from '../mock_data'; +import { packageList, npmPackage } from '../mock_data'; describe('packages_list_row', () => { let wrapper; @@ -40,6 +40,7 @@ describe('packages_list_row', () => { stubs: { ListItem, InfrastructureIconAndName, + GlSprintf, }, propsData: { packageLink: 'foo', @@ -96,6 +97,24 @@ describe('packages_list_row', () => { }); }); + describe('published by author', () => { + it('shows the text when user is set', () => { + mountComponent({ + packageEntity: { ...npmPackage }, + }); + + expect(wrapper.text()).toContain('published by foo'); + }); + + it('is hidden when user is null', () => { + mountComponent({ + packageEntity: { ...npmPackage, pipeline: { ...npmPackage.pipeline, user: null } }, + }); + + expect(wrapper.text()).not.toContain('published by'); + }); + }); + describe('deleteAvailable', () => { it('does not show when not set', () => { mountComponent({ disableDelete: true });