diff options
author | Filipa Lacerda <filipa@gitlab.com> | 2016-11-14 17:22:21 +0000 |
---|---|---|
committer | Filipa Lacerda <filipa@gitlab.com> | 2016-11-16 11:58:19 +0000 |
commit | dd80e09a7bcd4da9d4505090499e0da6e8555a9c (patch) | |
tree | ce91cd757759975efb4e1270d233f3fd9307eeb7 /spec/javascripts/environments | |
parent | 56aaa3973b5e62ee8527be073246c138ab83fdc6 (diff) | |
download | gitlab-ce-dd80e09a7bcd4da9d4505090499e0da6e8555a9c.tar.gz |
Adds tests
Diffstat (limited to 'spec/javascripts/environments')
-rw-r--r-- | spec/javascripts/environments/environment_item_spec.js.es6 | 118 |
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', () => { |