diff options
author | Phil Hughes <me@iamphill.com> | 2017-05-12 12:54:10 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2017-05-15 11:35:26 +0100 |
commit | e61ce83be9aef1f5bf68471c60753ac53ae15e5d (patch) | |
tree | 467b98ee541774ed935b898dbedc3d343220e2cf /spec/javascripts | |
parent | 478812543ce82dbfc7a408706aa94ab870443735 (diff) | |
download | gitlab-ce-e61ce83be9aef1f5bf68471c60753ac53ae15e5d.tar.gz |
Issue inline edit title field
[ci skip]
Diffstat (limited to 'spec/javascripts')
-rw-r--r-- | spec/javascripts/issue_show/components/app_spec.js | 12 | ||||
-rw-r--r-- | spec/javascripts/issue_show/components/fields/title_spec.js | 30 | ||||
-rw-r--r-- | spec/javascripts/issue_show/components/title_spec.js | 13 |
3 files changed, 52 insertions, 3 deletions
diff --git a/spec/javascripts/issue_show/components/app_spec.js b/spec/javascripts/issue_show/components/app_spec.js index 1f46d836e1e..ad99249a806 100644 --- a/spec/javascripts/issue_show/components/app_spec.js +++ b/spec/javascripts/issue_show/components/app_spec.js @@ -75,6 +75,18 @@ describe('Issuable output', () => { }); }); + it('changes element for `form` when open', (done) => { + vm.showForm = true; + + Vue.nextTick(() => { + expect( + vm.$el.tagName, + ).toBe('FORM'); + + done(); + }); + }); + it('does not show actions if permissions are incorrect', (done) => { vm.showForm = true; vm.canUpdate = false; diff --git a/spec/javascripts/issue_show/components/fields/title_spec.js b/spec/javascripts/issue_show/components/fields/title_spec.js new file mode 100644 index 00000000000..69afcd24df9 --- /dev/null +++ b/spec/javascripts/issue_show/components/fields/title_spec.js @@ -0,0 +1,30 @@ +import Vue from 'vue'; +import Store from '~/issue_show/stores'; +import titleField from '~/issue_show/components/fields/title.vue'; + +describe('Title field component', () => { + let vm; + let store; + + beforeEach(() => { + const Component = Vue.extend(titleField); + store = new Store({ + titleHtml: '', + descriptionHtml: '', + issuableRef: '', + }); + store.formState.title = 'test'; + + vm = new Component({ + propsData: { + store, + }, + }).$mount(); + }); + + it('renders form control with formState title', () => { + expect( + vm.$el.querySelector('.form-control').value, + ).toBe('test'); + }); +}); diff --git a/spec/javascripts/issue_show/components/title_spec.js b/spec/javascripts/issue_show/components/title_spec.js index 2f953e7e92e..45ec8718eb6 100644 --- a/spec/javascripts/issue_show/components/title_spec.js +++ b/spec/javascripts/issue_show/components/title_spec.js @@ -1,4 +1,5 @@ import Vue from 'vue'; +import Store from '~/issue_show/stores'; import titleComponent from '~/issue_show/components/title.vue'; describe('Title component', () => { @@ -11,13 +12,19 @@ describe('Title component', () => { issuableRef: '#1', titleHtml: 'Testing <img />', titleText: 'Testing', + showForm: false, + store: new Store({ + titleHtml: '', + descriptionHtml: '', + issuableRef: '', + }), }, }).$mount(); }); it('renders title HTML', () => { expect( - vm.$el.innerHTML.trim(), + vm.$el.querySelector('h2').innerHTML.trim(), ).toBe('Testing <img>'); }); @@ -39,12 +46,12 @@ describe('Title component', () => { Vue.nextTick(() => { expect( - vm.$el.classList.contains('issue-realtime-pre-pulse'), + vm.$el.querySelector('h2').classList.contains('issue-realtime-pre-pulse'), ).toBeTruthy(); setTimeout(() => { expect( - vm.$el.classList.contains('issue-realtime-trigger-pulse'), + vm.$el.querySelector('h2').classList.contains('issue-realtime-trigger-pulse'), ).toBeTruthy(); done(); |