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:
authorPaul Slaughter <pslaughter@gitlab.com>2018-08-07 16:19:13 +0300
committerPhil Hughes <me@iamphill.com>2018-08-07 16:19:13 +0300
commitdb739548fe1f9408863bda49c75c64a5819049ce (patch)
tree0ad43dc61a8a47bd7edecec2af1a7adf3151ffb9 /spec/javascripts
parent379083bee4300387a9b9e3342e62bf373ee7b287 (diff)
Web IDE context header redesign
Diffstat (limited to 'spec/javascripts')
-rw-r--r--spec/javascripts/ide/components/activity_bar_spec.js20
-rw-r--r--spec/javascripts/vue_shared/components/project_avatar/default_spec.js58
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);
+ });
+});