summaryrefslogtreecommitdiff
path: root/spec/features/issues/form_spec.rb
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-07-18 13:23:45 +0100
committerPhil Hughes <me@iamphill.com>2016-07-20 10:48:02 +0100
commit75892aebabf96f6cce9057b67f21d403d70a1d95 (patch)
treeff1665e170217960e8d98786f8320127ea6c7e93 /spec/features/issues/form_spec.rb
parentc752ed064d6399471a8b1a1bba25099725702982 (diff)
downloadgitlab-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.rb85
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