diff options
author | Alfredo Sumaran <alfredo@gitlab.com> | 2017-04-26 23:45:46 -0500 |
---|---|---|
committer | Alfredo Sumaran <alfredo@gitlab.com> | 2017-05-03 13:42:54 -0500 |
commit | 830ab89458a8e2f4170c83a05c14037385703a58 (patch) | |
tree | 0737c1fe4d6e04428e11987ea0a50156fecd0f93 | |
parent | ce49bb508a164b95b14c606729e337598f86887b (diff) | |
download | gitlab-ce-830ab89458a8e2f4170c83a05c14037385703a58.tar.gz |
Add feature tests for create branch/merge request dropdown on issue page
-rw-r--r-- | app/assets/javascripts/create_merge_request_dropdown.js | 1 | ||||
-rw-r--r-- | spec/features/issues/create_branch_merge_request_spec.rb | 54 |
2 files changed, 55 insertions, 0 deletions
diff --git a/app/assets/javascripts/create_merge_request_dropdown.js b/app/assets/javascripts/create_merge_request_dropdown.js index dc49092f187..b00e5f4614a 100644 --- a/app/assets/javascripts/create_merge_request_dropdown.js +++ b/app/assets/javascripts/create_merge_request_dropdown.js @@ -138,6 +138,7 @@ export default class CreateMergeRequestDropdown { createMergeRequest() { const xhr = $.ajax({ method: 'POST', + dataType: 'json', url: this.wrapperEl.dataset.createMrPath, }); diff --git a/spec/features/issues/create_branch_merge_request_spec.rb b/spec/features/issues/create_branch_merge_request_spec.rb new file mode 100644 index 00000000000..47d9c92c21b --- /dev/null +++ b/spec/features/issues/create_branch_merge_request_spec.rb @@ -0,0 +1,54 @@ +require 'rails_helper' + +feature 'Create Branch/Merge Request Dropdown on issue page', feature: true, js: true do + let(:user) { create(:user) } + let(:project) { create(:project_empty_repo) } + let(:issue) { create(:issue, project: project, title: 'Cherry-Coloured Funk') } + + context 'as an author' do + before do + project.team << [user, :developer] + login_as(user) + visit namespace_project_issue_path(project.namespace, project, issue) + end + + it 'I can create a merge request from issue page' do + select_dropdown_option('create-mr') + + wait_for_ajax + + expect(page).to have_content("created branch 1-cherry-coloured-funk") + expect(page).to have_content("mentioned in merge request !1") + + visit namespace_project_merge_request_path(project.namespace, project, MergeRequest.first) + + expect(page).to have_content('WIP: Resolve "Cherry-Coloured Funk"') + expect(current_path).to eq(namespace_project_merge_request_path(project.namespace, project, MergeRequest.first)) + end + + it 'I can creates a branch from issue page' do + select_dropdown_option('create-branch') + + wait_for_ajax + + expect(page).to have_selector('.dropdown-toggle-text ', text: '1-cherry-coloured-funk') + expect(current_path).to eq namespace_project_tree_path(project.namespace, project, '1-cherry-coloured-funk') + end + + def select_dropdown_option(option) + find('.create-mr-dropdown-wrap .dropdown-toggle').click + find("li[data-value='#{option}']").click + find('.js-create-merge-request').click + end + end + + context 'logged out' do + before do + visit namespace_project_issue_path(project.namespace, project, issue) + end + + it 'does not have the dropdown' do + expect(page).not_to have_selector('.create-mr-dropdown-wrap') + end + end +end |