summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorFilipa Lacerda <filipa@gitlab.com>2016-11-14 17:22:21 +0000
committerFilipa Lacerda <filipa@gitlab.com>2016-11-16 11:58:19 +0000
commitdd80e09a7bcd4da9d4505090499e0da6e8555a9c (patch)
treece91cd757759975efb4e1270d233f3fd9307eeb7 /spec
parent56aaa3973b5e62ee8527be073246c138ab83fdc6 (diff)
downloadgitlab-ce-dd80e09a7bcd4da9d4505090499e0da6e8555a9c.tar.gz
Adds tests
Diffstat (limited to 'spec')
-rw-r--r--spec/javascripts/environments/environment_item_spec.js.es6118
1 files changed, 108 insertions, 10 deletions
diff --git a/spec/javascripts/environments/environment_item_spec.js.es6 b/spec/javascripts/environments/environment_item_spec.js.es6
index f357e11dc8e..1029d632054 100644
--- a/spec/javascripts/environments/environment_item_spec.js.es6
+++ b/spec/javascripts/environments/environment_item_spec.js.es6
@@ -9,7 +9,6 @@ describe('Environment item', () => {
describe('When item is folder', () => {
let mockItem;
- let component;
beforeEach(() => {
mockItem = {
@@ -35,38 +34,137 @@ describe('Environment item', () => {
},
],
};
+ });
- component = new window.gl.environmentsList.EnvironmentItem({
+ it('Should render clickable folder icon and name', () => {
+ const component = new window.gl.environmentsList.EnvironmentItem({
el: document.querySelector('tr#environment-row'),
propsData: {
model: mockItem,
+ toggleRow: () => {},
'can-create-deployment': false,
'can-read-environment': true,
},
});
- });
- it('Should render clickable folder icon and name', () => {
- expect(document.querySelector('.folder-name').textContent).toContain(mockItem.name);
- expect(document.querySelector('.folder-icon')).toBeDefined();
+ expect(component.$el.querySelector('.folder-name').textContent).toContain(mockItem.name);
+ expect(component.$el.querySelector('.folder-icon')).toBeDefined();
});
it('Should render the number of children in a badge', () => {
- expect(document.querySelector('.folder-name .badge').textContent).toContain(mockItem.children.length);
- });
+ const component = new window.gl.environmentsList.EnvironmentItem({
+ el: document.querySelector('tr#environment-row'),
+ propsData: {
+ model: mockItem,
+ toggleRow: () => {},
+ 'can-create-deployment': false,
+ 'can-read-environment': true,
+ },
+ });
- it('Should not render any information other than the name', () => {
+ expect(component.$el.querySelector('.folder-name .badge').textContent).toContain(mockItem.children.length);
});
describe('when clicked', () => {
- it('Should render child row', () => {
+ it('Should call the given prop', () => {
+ const component = new window.gl.environmentsList.EnvironmentItem({
+ el: document.querySelector('tr#environment-row'),
+ propsData: {
+ model: mockItem,
+ toggleRow: () => {
+ console.log('here!');
+ },
+ 'can-create-deployment': false,
+ 'can-read-environment': true,
+ },
+ });
+
+ spyOn(component.$options.propsData, 'toggleRow');
+ component.$el.querySelector('.folder-name').click();
+
+ expect(component.$options.propsData.toggleRow).toHaveBeenCalled();
});
});
});
describe('when item is not folder', () => {
+ let environment;
+
+ beforeEach(() => {
+ environment = {
+ id: 31,
+ name: 'production',
+ state: 'stopped',
+ external_url: 'http://external.com',
+ environment_type: null,
+ last_deployment: {
+ id: 66,
+ iid: 6,
+ sha: '500aabcb17c97bdcf2d0c410b70cb8556f0362dd',
+ ref: {
+ name: 'master',
+ ref_url: 'http://localhost:3000/root/ci-folders/tree/master',
+ },
+ tag: true,
+ 'last?': true,
+ user: {
+ name: 'Administrator',
+ username: 'root',
+ id: 1,
+ state: 'active',
+ avatar_url: 'http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
+ web_url: 'http://localhost:3000/root',
+ },
+ commit: {
+ id: '500aabcb17c97bdcf2d0c410b70cb8556f0362dd',
+ short_id: '500aabcb',
+ title: 'Update .gitlab-ci.yml',
+ author_name: 'Administrator',
+ author_email: 'admin@example.com',
+ created_at: '2016-11-07T18:28:13.000+00:00',
+ message: 'Update .gitlab-ci.yml',
+ author: {
+ name: 'Administrator',
+ username: 'root',
+ id: 1,
+ state: 'active',
+ avatar_url: 'http://www.gravatar.com/avatar/e64c7d89f26bd1972efa854d13d7dd61?s=80\u0026d=identicon',
+ web_url: 'http://localhost:3000/root',
+ },
+ commit_url: 'http://localhost:3000/root/ci-folders/tree/500aabcb17c97bdcf2d0c410b70cb8556f0362dd',
+ },
+ deployable: {
+ id: 1279,
+ name: 'deploy',
+ build_url: 'http://localhost:3000/root/ci-folders/builds/1279',
+ retry_url: 'http://localhost:3000/root/ci-folders/builds/1279/retry',
+ },
+ manual_actions: [
+ {
+ name: 'action',
+ play_url: 'http://localhost:3000/play',
+ },
+ ],
+ },
+ 'stoppable?': true,
+ environment_url: 'http://localhost:3000/root/ci-folders/environments/31',
+ created_at: '2016-11-07T11:11:16.525Z',
+ updated_at: '2016-11-10T15:55:58.778Z',
+ };
+ });
+
it('should render environment name', () => {
+ const component = new window.gl.environmentsList.EnvironmentItem({
+ el: document.querySelector('tr#environment-row'),
+ propsData: {
+ model: environment,
+ toggleRow: () => {},
+ 'can-create-deployment': false,
+ 'can-read-environment': true,
+ },
+ });
+ debugger;
});
describe('With deployment', () => {