Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2019-11-28 18:06:57 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2019-11-28 18:06:57 +0300
commit7cdd70dcec27402e89e65451b4b1feb75b5eb267 (patch)
tree1691c8e1afd469fa426ecf5bc127de8df16d4855 /spec/javascripts/vue_shared
parent79348faced5e7e62103ad27f6a6594dfdca463e2 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/javascripts/vue_shared')
-rw-r--r--spec/javascripts/vue_shared/components/clipboard_button_spec.js51
-rw-r--r--spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js109
2 files changed, 0 insertions, 160 deletions
diff --git a/spec/javascripts/vue_shared/components/clipboard_button_spec.js b/spec/javascripts/vue_shared/components/clipboard_button_spec.js
deleted file mode 100644
index 29a76574b89..00000000000
--- a/spec/javascripts/vue_shared/components/clipboard_button_spec.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import Vue from 'vue';
-import clipboardButton from '~/vue_shared/components/clipboard_button.vue';
-import mountComponent from 'spec/helpers/vue_mount_component_helper';
-
-describe('clipboard button', () => {
- const Component = Vue.extend(clipboardButton);
- let vm;
-
- afterEach(() => {
- vm.$destroy();
- });
-
- describe('without gfm', () => {
- beforeEach(() => {
- vm = mountComponent(Component, {
- text: 'copy me',
- title: 'Copy this value',
- cssClass: 'btn-danger',
- });
- });
-
- it('renders a button for clipboard', () => {
- expect(vm.$el.tagName).toEqual('BUTTON');
- expect(vm.$el.getAttribute('data-clipboard-text')).toEqual('copy me');
- expect(vm.$el).toHaveSpriteIcon('duplicate');
- });
-
- it('should have a tooltip with default values', () => {
- expect(vm.$el.getAttribute('data-original-title')).toEqual('Copy this value');
- });
-
- it('should render provided classname', () => {
- expect(vm.$el.classList).toContain('btn-danger');
- });
- });
-
- describe('with gfm', () => {
- it('sets data-clipboard-text with gfm', () => {
- vm = mountComponent(Component, {
- text: 'copy me',
- gfm: '`path/to/file`',
- title: 'Copy this value',
- cssClass: 'btn-danger',
- });
-
- expect(vm.$el.getAttribute('data-clipboard-text')).toEqual(
- '{"text":"copy me","gfm":"`path/to/file`"}',
- );
- });
- });
-});
diff --git a/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js b/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js
deleted file mode 100644
index 80aa75847ae..00000000000
--- a/spec/javascripts/vue_shared/components/user_avatar/user_avatar_link_spec.js
+++ /dev/null
@@ -1,109 +0,0 @@
-import _ from 'underscore';
-import Vue from 'vue';
-import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
-import { TEST_HOST } from 'spec/test_constants';
-
-describe('User Avatar Link Component', function() {
- beforeEach(function() {
- this.propsData = {
- linkHref: `${TEST_HOST}/myavatarurl.com`,
- imgSize: 99,
- imgSrc: `${TEST_HOST}/myavatarurl.com`,
- imgAlt: 'mydisplayname',
- imgCssClasses: 'myextraavatarclass',
- tooltipText: 'tooltip text',
- tooltipPlacement: 'bottom',
- username: 'username',
- };
-
- const UserAvatarLinkComponent = Vue.extend(UserAvatarLink);
-
- this.userAvatarLink = new UserAvatarLinkComponent({
- propsData: this.propsData,
- }).$mount();
-
- [this.userAvatarImage] = this.userAvatarLink.$children;
- });
-
- it('should return a defined Vue component', function() {
- expect(this.userAvatarLink).toBeDefined();
- });
-
- it('should have user-avatar-image registered as child component', function() {
- expect(this.userAvatarLink.$options.components.userAvatarImage).toBeDefined();
- });
-
- it('user-avatar-link should have user-avatar-image as child component', function() {
- expect(this.userAvatarImage).toBeDefined();
- });
-
- it('should render <a> as a child element', function() {
- const link = this.userAvatarLink.$el;
-
- expect(link.tagName).toBe('A');
- expect(link.href).toBe(this.propsData.linkHref);
- });
-
- it('renders imgSrc with imgSize as image', function() {
- const { imgSrc, imgSize } = this.propsData;
- const image = this.userAvatarLink.$el.querySelector('img');
-
- expect(image).not.toBeNull();
- expect(image.src).toBe(`${imgSrc}?width=${imgSize}`);
- });
-
- it('should return necessary props as defined', function() {
- _.each(this.propsData, (val, key) => {
- expect(this.userAvatarLink[key]).toBeDefined();
- });
- });
-
- describe('no username', function() {
- beforeEach(function(done) {
- this.userAvatarLink.username = '';
-
- Vue.nextTick(done);
- });
-
- it('should only render image tag in link', function() {
- const childElements = this.userAvatarLink.$el.childNodes;
-
- expect(this.userAvatarLink.$el.querySelector('img')).not.toBe('null');
-
- // Vue will render the hidden component as <!---->
- expect(childElements[1].tagName).toBeUndefined();
- });
-
- it('should render avatar image tooltip', function() {
- expect(this.userAvatarLink.shouldShowUsername).toBe(false);
- expect(this.userAvatarLink.avatarTooltipText).toEqual(this.propsData.tooltipText);
- });
- });
-
- describe('username', function() {
- it('should not render avatar image tooltip', function() {
- expect(this.userAvatarLink.$el.querySelector('.js-user-avatar-image-toolip')).toBeNull();
- });
-
- it('should render username prop in <span>', function() {
- expect(
- this.userAvatarLink.$el.querySelector('.js-user-avatar-link-username').innerText.trim(),
- ).toEqual(this.propsData.username);
- });
-
- it('should render text tooltip for <span>', function() {
- expect(
- this.userAvatarLink.$el.querySelector('.js-user-avatar-link-username').dataset
- .originalTitle,
- ).toEqual(this.propsData.tooltipText);
- });
-
- it('should render text tooltip placement for <span>', function() {
- expect(
- this.userAvatarLink.$el
- .querySelector('.js-user-avatar-link-username')
- .getAttribute('tooltip-placement'),
- ).toEqual(this.propsData.tooltipPlacement);
- });
- });
-});