diff options
author | Paul Slaughter <pslaughter@gitlab.com> | 2018-08-07 13:19:13 +0000 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2018-08-07 13:19:13 +0000 |
commit | db739548fe1f9408863bda49c75c64a5819049ce (patch) | |
tree | 0ad43dc61a8a47bd7edecec2af1a7adf3151ffb9 /spec | |
parent | 379083bee4300387a9b9e3342e62bf373ee7b287 (diff) | |
download | gitlab-ce-db739548fe1f9408863bda49c75c64a5819049ce.tar.gz |
Web IDE context header redesign
Diffstat (limited to 'spec')
-rw-r--r-- | spec/javascripts/ide/components/activity_bar_spec.js | 20 | ||||
-rw-r--r-- | spec/javascripts/vue_shared/components/project_avatar/default_spec.js | 58 |
2 files changed, 58 insertions, 20 deletions
diff --git a/spec/javascripts/ide/components/activity_bar_spec.js b/spec/javascripts/ide/components/activity_bar_spec.js index 946c7e8e9c8..4d878e633fe 100644 --- a/spec/javascripts/ide/components/activity_bar_spec.js +++ b/spec/javascripts/ide/components/activity_bar_spec.js @@ -24,26 +24,6 @@ describe('IDE activity bar', () => { resetStore(vm.$store); }); - describe('goBackUrl', () => { - it('renders the Go Back link with the referrer when present', () => { - const fakeReferrer = '/example/README.md'; - spyOnProperty(document, 'referrer').and.returnValue(fakeReferrer); - - vm.$mount(); - - expect(vm.goBackUrl).toEqual(fakeReferrer); - }); - - it('renders the Go Back link with the project url when referrer is not present', () => { - const fakeReferrer = ''; - spyOnProperty(document, 'referrer').and.returnValue(fakeReferrer); - - vm.$mount(); - - expect(vm.goBackUrl).toEqual('testing'); - }); - }); - describe('updateActivityBarView', () => { beforeEach(() => { spyOn(vm, 'updateActivityBarView'); diff --git a/spec/javascripts/vue_shared/components/project_avatar/default_spec.js b/spec/javascripts/vue_shared/components/project_avatar/default_spec.js new file mode 100644 index 00000000000..5fed3f4b892 --- /dev/null +++ b/spec/javascripts/vue_shared/components/project_avatar/default_spec.js @@ -0,0 +1,58 @@ +import Vue from 'vue'; +import ProjectAvatarDefault from '~/vue_shared/components/project_avatar/default.vue'; +import mountComponent from 'spec/helpers/vue_mount_component_helper'; +import { projectData } from 'spec/ide/mock_data'; +import { getFirstCharacterCapitalized } from '~/lib/utils/text_utility'; +import { TEST_HOST } from 'spec/test_constants'; + +describe('ProjectAvatarDefault component', () => { + const Component = Vue.extend(ProjectAvatarDefault); + let vm; + + beforeEach(() => { + vm = mountComponent(Component, { + project: projectData, + }); + }); + + afterEach(() => { + vm.$destroy(); + }); + + it('renders identicon if project has no avatar_url', done => { + const expectedText = getFirstCharacterCapitalized(projectData.name); + + vm.project = { + ...vm.project, + avatar_url: null, + }; + + vm.$nextTick() + .then(() => { + const identiconEl = vm.$el.querySelector('.identicon'); + + expect(identiconEl).not.toBe(null); + expect(identiconEl.textContent.trim()).toEqual(expectedText); + }) + .then(done) + .catch(done.fail); + }); + + it('renders avatar image if project has avatar_url', done => { + const avatarUrl = `${TEST_HOST}/images/home/nasa.svg`; + + vm.project = { + ...vm.project, + avatar_url: avatarUrl, + }; + + vm.$nextTick() + .then(() => { + expect(vm.$el).toContainElement('.avatar'); + expect(vm.$el).not.toContainElement('.identicon'); + expect(vm.$el.querySelector('img')).toHaveAttr('src', avatarUrl); + }) + .then(done) + .catch(done.fail); + }); +}); |