Commit d98f03d3 authored by Filipa Lacerda's avatar Filipa Lacerda

Adds tests

parent 3768de80
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
<div class="inline"> <div class="inline">
<div class="dropdown"> <div class="dropdown">
<a class="dropdown-new btn btn-default" data-toggle="dropdown"> <a class="dropdown-new btn btn-default" data-toggle="dropdown">
<span v-html='playIconSvg'></span> <span class="js-dropdown-play-icon-container" v-html='playIconSvg'></span>
<i class="fa fa-caret-down"></i> <i class"=fa fa-caret-down"></i>
</a> </a>
<ul class="dropdown-menu dropdown-menu-align-right"> <ul class="dropdown-menu dropdown-menu-align-right">
...@@ -33,7 +33,9 @@ ...@@ -33,7 +33,9 @@
data-method="post" data-method="post"
rel="nofollow" rel="nofollow"
class="js-manual-action-link"> class="js-manual-action-link">
<span v-html='playIconSvg'></span>
<span class="js-action-play-icon-container" v-html='playIconSvg'></span>
<span> <span>
{{action.name}} {{action.name}}
</span> </span>
......
...@@ -129,7 +129,7 @@ ...@@ -129,7 +129,7 @@
{{commitRef.name}} {{commitRef.name}}
</a> </a>
<div v-html="commitIconSvg" class="commit-icon"></div> <div v-html="commitIconSvg" class="commit-icon js-commit-icon"></div>
<a class="commit-id monospace" <a class="commit-id monospace"
:href="commitUrl"> :href="commitUrl">
......
...@@ -8,7 +8,7 @@ describe('Actions Component', () => { ...@@ -8,7 +8,7 @@ describe('Actions Component', () => {
fixture.load('environments/element.html'); fixture.load('environments/element.html');
}); });
it('Should render a dropdown with the provided actions', () => { it('should render a dropdown with the provided actions', () => {
const actionsMock = [ const actionsMock = [
{ {
name: 'bar', name: 'bar',
...@@ -24,6 +24,7 @@ describe('Actions Component', () => { ...@@ -24,6 +24,7 @@ describe('Actions Component', () => {
el: document.querySelector('.test-dom-element'), el: document.querySelector('.test-dom-element'),
propsData: { propsData: {
actions: actionsMock, actions: actionsMock,
playIconSvg: '<svg></svg>',
}, },
}); });
...@@ -34,4 +35,33 @@ describe('Actions Component', () => { ...@@ -34,4 +35,33 @@ describe('Actions Component', () => {
component.$el.querySelector('.dropdown-menu li a').getAttribute('href'), component.$el.querySelector('.dropdown-menu li a').getAttribute('href'),
).toEqual(actionsMock[0].play_path); ).toEqual(actionsMock[0].play_path);
}); });
it('should render a dropdown with the provided svg', () => {
const actionsMock = [
{
name: 'bar',
play_path: 'https://gitlab.com/play',
},
{
name: 'foo',
play_path: '#',
},
];
const component = new window.gl.environmentsList.ActionsComponent({
el: document.querySelector('.test-dom-element'),
propsData: {
actions: actionsMock,
playIconSvg: '<svg></svg>',
},
});
expect(
component.$el.querySelector('.js-dropdown-play-icon-container').children,
).toContain('svg');
expect(
component.$el.querySelector('.js-action-play-icon-container').children,
).toContain('svg');
});
}); });
...@@ -7,7 +7,7 @@ describe('External URL Component', () => { ...@@ -7,7 +7,7 @@ describe('External URL Component', () => {
fixture.load('environments/element.html'); fixture.load('environments/element.html');
}); });
it('should link to the provided external_url', () => { it('should link to the provided externalUrl prop', () => {
const externalURL = 'https://gitlab.com'; const externalURL = 'https://gitlab.com';
const component = new window.gl.environmentsList.ExternalUrlComponent({ const component = new window.gl.environmentsList.ExternalUrlComponent({
el: document.querySelector('.test-dom-element'), el: document.querySelector('.test-dom-element'),
......
...@@ -9,7 +9,7 @@ describe('Rollback Component', () => { ...@@ -9,7 +9,7 @@ describe('Rollback Component', () => {
fixture.load('environments/element.html'); fixture.load('environments/element.html');
}); });
it('Should link to the provided retry_url', () => { it('Should link to the provided retryUrl', () => {
const component = new window.gl.environmentsList.RollbackComponent({ const component = new window.gl.environmentsList.RollbackComponent({
el: document.querySelector('.test-dom-element'), el: document.querySelector('.test-dom-element'),
propsData: { propsData: {
...@@ -21,7 +21,7 @@ describe('Rollback Component', () => { ...@@ -21,7 +21,7 @@ describe('Rollback Component', () => {
expect(component.$el.getAttribute('href')).toEqual(retryURL); expect(component.$el.getAttribute('href')).toEqual(retryURL);
}); });
it('Should render Re-deploy label when is_last_deployment is true', () => { it('Should render Re-deploy label when isLastDeployment is true', () => {
const component = new window.gl.environmentsList.RollbackComponent({ const component = new window.gl.environmentsList.RollbackComponent({
el: document.querySelector('.test-dom-element'), el: document.querySelector('.test-dom-element'),
propsData: { propsData: {
...@@ -34,7 +34,7 @@ describe('Rollback Component', () => { ...@@ -34,7 +34,7 @@ describe('Rollback Component', () => {
}); });
it('Should render Rollback label when is_last_deployment is false', () => { it('Should render Rollback label when isLastDeployment is false', () => {
const component = new window.gl.environmentsList.RollbackComponent({ const component = new window.gl.environmentsList.RollbackComponent({
el: document.querySelector('.test-dom-element'), el: document.querySelector('.test-dom-element'),
propsData: { propsData: {
......
...@@ -10,12 +10,12 @@ describe('Commit component', () => { ...@@ -10,12 +10,12 @@ describe('Commit component', () => {
el: document.querySelector('.test-commit-container'), el: document.querySelector('.test-commit-container'),
propsData: { propsData: {
tag: false, tag: false,
commit_ref: { commitRef: {
name: 'master', name: 'master',
ref_url: 'http://localhost/namespace2/gitlabhq/tree/master', ref_url: 'http://localhost/namespace2/gitlabhq/tree/master',
}, },
commit_url: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067', commitUrl: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067',
short_sha: 'b7836edd', shortSha: 'b7836edd',
title: 'Commit message', title: 'Commit message',
author: { author: {
avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png', avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png',
...@@ -34,18 +34,19 @@ describe('Commit component', () => { ...@@ -34,18 +34,19 @@ describe('Commit component', () => {
props = { props = {
tag: true, tag: true,
commit_ref: { commitRef: {
name: 'master', name: 'master',
ref_url: 'http://localhost/namespace2/gitlabhq/tree/master', ref_url: 'http://localhost/namespace2/gitlabhq/tree/master',
}, },
commit_url: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067', commitUrl: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067',
short_sha: 'b7836edd', shortSha: 'b7836edd',
title: 'Commit message', title: 'Commit message',
author: { author: {
avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png', avatar_url: 'https://gitlab.com/uploads/user/avatar/300478/avatar.png',
web_url: 'https://gitlab.com/jschatz1', web_url: 'https://gitlab.com/jschatz1',
username: 'jschatz1', username: 'jschatz1',
}, },
commitIconSvg: '<svg></svg>',
}; };
component = new window.gl.CommitComponent({ component = new window.gl.CommitComponent({
...@@ -59,20 +60,24 @@ describe('Commit component', () => { ...@@ -59,20 +60,24 @@ describe('Commit component', () => {
}); });
it('should render a link to the ref url', () => { it('should render a link to the ref url', () => {
expect(component.$el.querySelector('.branch-name').getAttribute('href')).toEqual(props.commit_ref.ref_url); expect(component.$el.querySelector('.branch-name').getAttribute('href')).toEqual(props.commitRef.ref_url);
}); });
it('should render the ref name', () => { it('should render the ref name', () => {
expect(component.$el.querySelector('.branch-name').textContent).toContain(props.commit_ref.name); expect(component.$el.querySelector('.branch-name').textContent).toContain(props.commitRef.name);
}); });
it('should render the commit short sha with a link to the commit url', () => { it('should render the commit short sha with a link to the commit url', () => {
expect(component.$el.querySelector('.commit-id').getAttribute('href')).toEqual(props.commit_url); expect(component.$el.querySelector('.commit-id').getAttribute('href')).toEqual(props.commitUrl);
expect(component.$el.querySelector('.commit-id').textContent).toContain(props.short_sha); expect(component.$el.querySelector('.commit-id').textContent).toContain(props.shortSha);
});
it('should render the given commitIconSvg', () => {
expect(component.$el.querySelector('.js-commit-icon').children).toContain('svg');
}); });
describe('Given commit title and author props', () => { describe('Given commit title and author props', () => {
it('Should render a link to the author profile', () => { it('should render a link to the author profile', () => {
expect( expect(
component.$el.querySelector('.commit-title .avatar-image-container').getAttribute('href'), component.$el.querySelector('.commit-title .avatar-image-container').getAttribute('href'),
).toEqual(props.author.web_url); ).toEqual(props.author.web_url);
...@@ -91,7 +96,7 @@ describe('Commit component', () => { ...@@ -91,7 +96,7 @@ describe('Commit component', () => {
it('should render the commit title', () => { it('should render the commit title', () => {
expect( expect(
component.$el.querySelector('a.commit-row-message').getAttribute('href'), component.$el.querySelector('a.commit-row-message').getAttribute('href'),
).toEqual(props.commit_url); ).toEqual(props.commitUrl);
expect( expect(
component.$el.querySelector('a.commit-row-message').textContent, component.$el.querySelector('a.commit-row-message').textContent,
).toContain(props.title); ).toContain(props.title);
...@@ -99,16 +104,16 @@ describe('Commit component', () => { ...@@ -99,16 +104,16 @@ describe('Commit component', () => {
}); });
describe('When commit title is not provided', () => { describe('When commit title is not provided', () => {
it('Should render default message', () => { it('should render default message', () => {
fixture.set('<div class="test-commit-container"></div>'); fixture.set('<div class="test-commit-container"></div>');
props = { props = {
tag: false, tag: false,
commit_ref: { commitRef: {
name: 'master', name: 'master',
ref_url: 'http://localhost/namespace2/gitlabhq/tree/master', ref_url: 'http://localhost/namespace2/gitlabhq/tree/master',
}, },
commit_url: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067', commitUrl: 'https://gitlab.com/gitlab-org/gitlab-ce/commit/b7836eddf62d663c665769e1b0960197fd215067',
short_sha: 'b7836edd', shortSha: 'b7836edd',
title: null, title: null,
author: {}, author: {},
}; };
......
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