diff options
Diffstat (limited to 'spec/javascripts/merge_request_notes_spec.js')
-rw-r--r-- | spec/javascripts/merge_request_notes_spec.js | 96 |
1 files changed, 29 insertions, 67 deletions
diff --git a/spec/javascripts/merge_request_notes_spec.js b/spec/javascripts/merge_request_notes_spec.js index b6d0ce02c4f..e54acfa8e44 100644 --- a/spec/javascripts/merge_request_notes_spec.js +++ b/spec/javascripts/merge_request_notes_spec.js @@ -7,92 +7,54 @@ import '~/render_gfm'; import '~/render_math'; import '~/notes'; -const upArrowKeyCode = 38; - describe('Merge request notes', () => { window.gon = window.gon || {}; window.gl = window.gl || {}; gl.utils = gl.utils || {}; - const discussionTabFixture = 'merge_requests/diff_comment.html.raw'; - const changesTabJsonFixture = 'merge_requests/changes_tab_with_comments.json'; - preloadFixtures(discussionTabFixture, changesTabJsonFixture); - - describe('Discussion tab with diff comments', () => { - beforeEach(() => { - loadFixtures(discussionTabFixture); - gl.utils.disableButtonIfEmptyField = _.noop; - window.project_uploads_path = 'http://test.host/uploads'; - $('body').data('page', 'projects:merge_requests:show'); - window.gon.current_user_id = $('.note:last').data('author-id'); - - return new Notes('', []); - }); - - describe('up arrow', () => { - it('edits last comment when triggered in main form', () => { - const upArrowEvent = $.Event('keydown'); - upArrowEvent.which = upArrowKeyCode; - - spyOnEvent('.note:last .js-note-edit', 'click'); - - $('.js-note-text').trigger(upArrowEvent); + const fixture = 'merge_requests/diff_comment.html.raw'; + preloadFixtures(fixture); - expect('click').toHaveBeenTriggeredOn('.note:last .js-note-edit'); - }); - - it('edits last comment in discussion when triggered in discussion form', (done) => { - const upArrowEvent = $.Event('keydown'); - upArrowEvent.which = upArrowKeyCode; + beforeEach(() => { + loadFixtures(fixture); + gl.utils.disableButtonIfEmptyField = _.noop; + window.project_uploads_path = 'http://test.host/uploads'; + $('body').data('page', 'projects:merge_requests:show'); + window.gon.current_user_id = $('.note:last').data('author-id'); - spyOnEvent('.note-discussion .js-note-edit', 'click'); - - $('.js-discussion-reply-button').click(); + return new Notes('', []); + }); - setTimeout(() => { - expect( - $('.note-discussion .js-note-text'), - ).toExist(); + describe('up arrow', () => { + it('edits last comment when triggered in main form', () => { + const upArrowEvent = $.Event('keydown'); + upArrowEvent.which = 38; - $('.note-discussion .js-note-text').trigger(upArrowEvent); + spyOnEvent('.note:last .js-note-edit', 'click'); - expect('click').toHaveBeenTriggeredOn('.note-discussion .js-note-edit'); + $('.js-note-text').trigger(upArrowEvent); - done(); - }); - }); + expect('click').toHaveBeenTriggeredOn('.note:last .js-note-edit'); }); - }); - describe('Changes tab with diff comments', () => { - beforeEach(() => { - const diffsResponse = getJSONFixture(changesTabJsonFixture); - const noteFormHtml = `<form class="js-new-note-form"> - <textarea class="js-note-text"></textarea> - </form>`; - setFixtures(diffsResponse.html + noteFormHtml); - $('body').data('page', 'projects:merge_requests:show'); - window.gon.current_user_id = $('.note:last').data('author-id'); - - return new Notes('', []); - }); + it('edits last comment in discussion when triggered in discussion form', (done) => { + const upArrowEvent = $.Event('keydown'); + upArrowEvent.which = 38; - describe('up arrow', () => { - it('edits last comment in discussion when triggered in discussion form', (done) => { - const upArrowEvent = $.Event('keydown'); - upArrowEvent.which = upArrowKeyCode; + spyOnEvent('.note-discussion .js-note-edit', 'click'); - spyOnEvent('.note:last .js-note-edit', 'click'); + $('.js-discussion-reply-button').click(); - $('.js-discussion-reply-button').trigger('click'); + setTimeout(() => { + expect( + $('.note-discussion .js-note-text'), + ).toExist(); - setTimeout(() => { - $('.js-note-text').trigger(upArrowEvent); + $('.note-discussion .js-note-text').trigger(upArrowEvent); - expect('click').toHaveBeenTriggeredOn('.note:last .js-note-edit'); + expect('click').toHaveBeenTriggeredOn('.note-discussion .js-note-edit'); - done(); - }); + done(); }); }); }); |