diff options
author | Regis <boudinot.regis@yahoo.com> | 2017-05-02 15:01:23 -0600 |
---|---|---|
committer | Regis <boudinot.regis@yahoo.com> | 2017-05-02 15:01:23 -0600 |
commit | f6df135717a09b7598f274a1c9d877ffcb59be26 (patch) | |
tree | 2a3d14e6cc9a9414187e212c86a69525a0f8e648 /spec/javascripts/issue_show | |
parent | 290cba5b23118bd40d64e5c6187afc820a6a0e38 (diff) | |
download | gitlab-ce-f6df135717a09b7598f274a1c9d877ffcb59be26.tar.gz |
test realtime changes and hit more branches
Diffstat (limited to 'spec/javascripts/issue_show')
-rw-r--r-- | spec/javascripts/issue_show/issue_title_description_spec.js | 41 | ||||
-rw-r--r-- | spec/javascripts/issue_show/mock_data.js | 22 |
2 files changed, 37 insertions, 26 deletions
diff --git a/spec/javascripts/issue_show/issue_title_description_spec.js b/spec/javascripts/issue_show/issue_title_description_spec.js index 4c7d4748693..e1d0f51f9cb 100644 --- a/spec/javascripts/issue_show/issue_title_description_spec.js +++ b/spec/javascripts/issue_show/issue_title_description_spec.js @@ -7,9 +7,12 @@ import issueShowData from './mock_data'; window.$ = $; -const issueShowInterceptor = (request, next) => { - next(request.respondWith(JSON.stringify(issueShowData), { +const issueShowInterceptor = data => (request, next) => { + next(request.respondWith(JSON.stringify(data), { status: 200, + headers: { + 'POLL-INTERVAL': 1, + }, })); }; @@ -22,16 +25,15 @@ describe('Issue Title', () => { beforeEach(() => { comps.IssueTitleComponent = Vue.extend(issueTitle); - Vue.http.interceptors.push(issueShowInterceptor); }); afterEach(() => { - Vue.http.interceptors = _.without( - Vue.http.interceptors, issueShowInterceptor, - ); + Vue.http.interceptors = _.without(Vue.http.interceptors, issueShowInterceptor); }); - it('should render a title', (done) => { + it('should render a title/description and update title/description on update', (done) => { + Vue.http.interceptors.push(issueShowInterceptor(issueShowData.initialRequest)); + const issueShowComponent = new comps.IssueTitleComponent({ propsData: { candescription: '.css-stuff', @@ -41,22 +43,21 @@ describe('Issue Title', () => { // need setTimeout because actual setTimeout in code :P setTimeout(() => { - expect(document.querySelector('title').innerText) - .toContain('this is a title (#1)'); - - expect(issueShowComponent.$el.querySelector('.title').innerHTML) - .toContain('<p>this is a title</p>'); - - expect(issueShowComponent.$el.querySelector('.wiki').innerHTML) - .toContain('<p>this is a description!</p>'); + expect(document.querySelector('title').innerText).toContain('this is a title (#1)'); + expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>this is a title</p>'); + expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>this is a description!</p>'); + expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('this is a description'); - const hiddenText = issueShowComponent.$el - .querySelector('.js-task-list-field').innerText; + Vue.http.interceptors.push(issueShowInterceptor(issueShowData.secondRequest)); - expect(hiddenText) - .toContain('this is a description'); + setTimeout(() => { + expect(document.querySelector('title').innerText).toContain('2 (#1)'); + expect(issueShowComponent.$el.querySelector('.title').innerHTML).toContain('<p>2</p>'); + expect(issueShowComponent.$el.querySelector('.wiki').innerHTML).toContain('<p>42</p>'); + expect(issueShowComponent.$el.querySelector('.js-task-list-field').innerText).toContain('42'); - done(); + done(); + }, 10); }, 10); // 10ms is just long enough for the update hook to fire }); diff --git a/spec/javascripts/issue_show/mock_data.js b/spec/javascripts/issue_show/mock_data.js index b7b01391a18..5d234ebf254 100644 --- a/spec/javascripts/issue_show/mock_data.js +++ b/spec/javascripts/issue_show/mock_data.js @@ -1,8 +1,18 @@ export default { - title: '<p>this is a title</p>', - title_text: 'this is a title', - description: '<p>this is a description!</p>', - description_text: 'this is a description', - issue_number: 1, - task_status: '2/4 completed', + initialRequest: { + title: '<p>this is a title</p>', + title_text: 'this is a title', + description: '<p>this is a description!</p>', + description_text: 'this is a description', + issue_number: 1, + task_status: '2 of 4 completed', + }, + secondRequest: { + title: '<p>2</p>', + title_text: '2', + description: '<p>42</p>', + description_text: '42', + issue_number: 1, + task_status: '0 of 0 completed', + }, }; |