Commit e501a61a authored by Brandon Labuschagne's avatar Brandon Labuschagne

Merge branch '349002-remove-container-image-from-dep-list' into 'master'

Remove container-image: from location on the Dependency List

See merge request gitlab-org/gitlab!79767
parents b417ed07 0fc93315
...@@ -4,6 +4,7 @@ import { n__ } from '~/locale'; ...@@ -4,6 +4,7 @@ import { n__ } from '~/locale';
import DependencyPathViewer from './dependency_path_viewer.vue'; import DependencyPathViewer from './dependency_path_viewer.vue';
export const VISIBLE_DEPENDENCY_COUNT = 2; export const VISIBLE_DEPENDENCY_COUNT = 2;
export const CONTAINER_IMAGE_PREFIX = 'container-image:';
export default { export default {
name: 'DependencyLocation', name: 'DependencyLocation',
...@@ -32,7 +33,14 @@ export default { ...@@ -32,7 +33,14 @@ export default {
return this.ancestors.length > 0; return this.ancestors.length > 0;
}, },
isContainerImageDependency() { isContainerImageDependency() {
return this.location.path.includes('container-image:'); return this.location.path.startsWith(CONTAINER_IMAGE_PREFIX);
},
locationPath() {
if (this.isContainerImageDependency) {
return this.location.path.slice(CONTAINER_IMAGE_PREFIX.length);
}
return this.location.path;
}, },
isTopLevelDependency() { isTopLevelDependency() {
return this.location.top_level; return this.location.top_level;
...@@ -63,13 +71,14 @@ export default { ...@@ -63,13 +71,14 @@ export default {
class="gl-display-inline-block gl-lg-display-block!" class="gl-display-inline-block gl-lg-display-block!"
:href="location.blob_path" :href="location.blob_path"
> >
<gl-icon v-if="!isContainerImageDependency" name="doc-text" /> <gl-icon v-if="isContainerImageDependency" name="container-image" />
<gl-icon v-else name="doc-text" />
<gl-truncate <gl-truncate
class="gl-lg-max-w-80p gl-display-none gl-lg-display-inline-flex" class="gl-lg-max-w-80p gl-display-none gl-lg-display-inline-flex"
:text="location.path" :text="locationPath"
with-tooltip with-tooltip
/> />
<span class="gl-lg-display-none">{{ location.path }}</span> <span class="gl-lg-display-none">{{ locationPath }}</span>
</component> </component>
<span v-if="isTopLevelDependency">{{ s__('Dependencies|(top level)') }}</span> <span v-if="isTopLevelDependency">{{ s__('Dependencies|(top level)') }}</span>
</span> </span>
......
...@@ -27,7 +27,7 @@ describe('Dependency Location component', () => { ...@@ -27,7 +27,7 @@ describe('Dependency Location component', () => {
it.each` it.each`
name | location | path name | location | path
${'container image path'} | ${Paths.containerImagePath} | ${Paths.containerImagePath.path} ${'container image path'} | ${Paths.containerImagePath} | ${Paths.containerImagePath.image}
${'no path'} | ${Paths.noPath} | ${Paths.noPath.path} ${'no path'} | ${Paths.noPath} | ${Paths.noPath.path}
${'top level path'} | ${Paths.topLevelPath} | ${'package.json (top level)'} ${'top level path'} | ${Paths.topLevelPath} | ${'package.json (top level)'}
${'short path'} | ${Paths.shortPath} | ${'package.json / swell 1.2 / emmajsq 10.11'} ${'short path'} | ${Paths.shortPath} | ${'package.json / swell 1.2 / emmajsq 10.11'}
...@@ -100,13 +100,16 @@ describe('Dependency Location component', () => { ...@@ -100,13 +100,16 @@ describe('Dependency Location component', () => {
}); });
}); });
it('should render the dependency name not as a link', () => { it('should render the dependency name not as a link without container-image: prefix', () => {
expect(findPathLink().exists()).toBe(false); expect(findPathLink().exists()).toBe(false);
expect(findPath().text()).toBe(Paths.containerImagePath.path); expect(findPath().text()).toBe(Paths.containerImagePath.image);
expect(findPath().text()).not.toContain('container-image:');
}); });
it('should not render the icon', () => { it('should render the container-image icon', () => {
expect(findIcon().exists()).toBe(false); const icon = findIcon();
expect(icon.exists()).toBe(true);
expect(icon.props('name')).toBe('container-image');
}); });
}); });
}); });
...@@ -3,6 +3,7 @@ export const containerImagePath = { ...@@ -3,6 +3,7 @@ export const containerImagePath = {
top_level: null, top_level: null,
blob_path: 'test.link', blob_path: 'test.link',
path: 'container-image:nginx:1.17', path: 'container-image:nginx:1.17',
image: 'nginx:1.17',
}; };
export const longPath = { export const longPath = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment