diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-05-20 14:34:42 +0000 |
commit | 9f46488805e86b1bc341ea1620b866016c2ce5ed (patch) | |
tree | f9748c7e287041e37d6da49e0a29c9511dc34768 /spec/frontend/groups/components/item_type_icon_spec.js | |
parent | dfc92d081ea0332d69c8aca2f0e745cb48ae5e6d (diff) | |
download | gitlab-ce-9f46488805e86b1bc341ea1620b866016c2ce5ed.tar.gz |
Add latest changes from gitlab-org/gitlab@13-0-stable-ee
Diffstat (limited to 'spec/frontend/groups/components/item_type_icon_spec.js')
-rw-r--r-- | spec/frontend/groups/components/item_type_icon_spec.js | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/spec/frontend/groups/components/item_type_icon_spec.js b/spec/frontend/groups/components/item_type_icon_spec.js new file mode 100644 index 00000000000..251b5b5ff4c --- /dev/null +++ b/spec/frontend/groups/components/item_type_icon_spec.js @@ -0,0 +1,53 @@ +import Vue from 'vue'; + +import mountComponent from 'helpers/vue_mount_component_helper'; +import itemTypeIconComponent from '~/groups/components/item_type_icon.vue'; +import { ITEM_TYPE } from '../mock_data'; + +const createComponent = (itemType = ITEM_TYPE.GROUP, isGroupOpen = false) => { + const Component = Vue.extend(itemTypeIconComponent); + + return mountComponent(Component, { + itemType, + isGroupOpen, + }); +}; + +describe('ItemTypeIconComponent', () => { + describe('template', () => { + it('should render component template correctly', () => { + const vm = createComponent(); + + expect(vm.$el.classList.contains('item-type-icon')).toBeTruthy(); + vm.$destroy(); + }); + + it('should render folder open or close icon based `isGroupOpen` prop value', () => { + let vm; + + vm = createComponent(ITEM_TYPE.GROUP, true); + + expect(vm.$el.querySelector('use').getAttribute('xlink:href')).toContain('folder-open'); + vm.$destroy(); + + vm = createComponent(ITEM_TYPE.GROUP); + + expect(vm.$el.querySelector('use').getAttribute('xlink:href')).toContain('folder'); + vm.$destroy(); + }); + + it('should render bookmark icon based on `isProject` prop value', () => { + let vm; + + vm = createComponent(ITEM_TYPE.PROJECT); + + expect(vm.$el.querySelector('use').getAttribute('xlink:href')).toContain('bookmark'); + vm.$destroy(); + + vm = createComponent(ITEM_TYPE.GROUP); + + expect(vm.$el.querySelector('use').getAttribute('xlink:href')).not.toContain('bookmark'); + vm.$destroy(); + }); + }); +}); |