diff options
author | Phil Hughes <me@iamphill.com> | 2016-07-18 13:23:45 +0100 |
---|---|---|
committer | Phil Hughes <me@iamphill.com> | 2016-07-20 10:48:02 +0100 |
commit | 75892aebabf96f6cce9057b67f21d403d70a1d95 (patch) | |
tree | ff1665e170217960e8d98786f8320127ea6c7e93 /spec/features/issues/form_spec.rb | |
parent | c752ed064d6399471a8b1a1bba25099725702982 (diff) | |
download | gitlab-ce-75892aebabf96f6cce9057b67f21d403d70a1d95.tar.gz |
Added tests for new/edit issue form
Diffstat (limited to 'spec/features/issues/form_spec.rb')
-rw-r--r-- | spec/features/issues/form_spec.rb | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb new file mode 100644 index 00000000000..6c14dff6a37 --- /dev/null +++ b/spec/features/issues/form_spec.rb @@ -0,0 +1,85 @@ +require 'rails_helper' + +describe 'New/edit issue', feature: true, js: true do + let!(:project) { create(:project) } + let!(:user) { create(:user)} + let!(:milestone) { create(:milestone, project: project) } + let!(:label) { create(:label, project: project) } + let!(:label2) { create(:label, project: project) } + let!(:issue) { create(:issue, project: project, assignee: user, milestone: milestone) } + + before do + project.team << [user, :master] + login_as(user) + end + + context 'new issue' do + before do + visit new_namespace_project_issue_path(project.namespace, project) + end + + it 'should allow user to create new issue' do + fill_in 'issue_title', with: 'title' + fill_in 'issue_description', with: 'title' + + click_button 'Assignee' + click_link user.name + + page.find '.js-assignee-search' do + expect(page).to have_content user.name + end + + click_button 'Milestone' + click_link milestone.title + + page.find '.js-milestone-select' do + expect(page).to have_content milestone.title + end + + click_button 'Labels' + click_link label.title + click_link label2.title + + page.find '.js-label-select' do + expect(page).to have_content label2.title + end + + click_button 'Submit issue' + + page.find '.issuable-sidebar' do + expect(page).to have_content user.name + expect(page).to have_content milestone.title + expect(page).to have_content label.title + expect(page).to have_content label2.title + end + end + end + + context 'edit issue' do + before do + visit edit_namespace_project_issue_path(project.namespace, project, issue) + end + + it 'should allow user to update issue' do + expect(page).to have_content user.name + expect(page).to have_content milestone.title + + click_button 'Labels' + click_link label.title + click_link label2.title + + page.find '.js-label-select' do + expect(page).to have_content label2.title + end + + click_button 'Save changes' + + page.find '.issuable-sidebar' do + expect(page).to have_content user.name + expect(page).to have_content milestone.title + expect(page).to have_content label.title + expect(page).to have_content label2.title + end + end + end +end |