summaryrefslogtreecommitdiff
path: root/spec/features/issues/form_spec.rb
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-07-19 10:05:38 +0100
committerPhil Hughes <me@iamphill.com>2016-07-20 10:48:02 +0100
commit47d8fb84d80d23432c9afea055da4c56ea749206 (patch)
tree27ae6c31b70e823a3a99a682190bb047e38f1537 /spec/features/issues/form_spec.rb
parentc54d2a030ca9753282640e8247e4df6c250477fa (diff)
downloadgitlab-ce-47d8fb84d80d23432c9afea055da4c56ea749206.tar.gz
Uses the selected values from the controller not the params
Added tests for new merge requests from forked project & owned project
Diffstat (limited to 'spec/features/issues/form_spec.rb')
-rw-r--r--spec/features/issues/form_spec.rb90
1 files changed, 62 insertions, 28 deletions
diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb
index 6c14dff6a37..2d0dae6f150 100644
--- a/spec/features/issues/form_spec.rb
+++ b/spec/features/issues/form_spec.rb
@@ -23,34 +23,49 @@ describe 'New/edit issue', feature: true, js: true do
fill_in 'issue_description', with: 'title'
click_button 'Assignee'
- click_link user.name
-
- page.find '.js-assignee-search' do
+ page.within '.dropdown-menu-user' do
+ click_link user.name
+ end
+ expect(find('input[name="issue[assignee_id]"]', visible: false).value).to match(user.id.to_s)
+ page.within '.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
+ page.within '.issue-milestone' do
+ click_link milestone.title
+ end
+ expect(find('input[name="issue[milestone_id]"]', visible: false).value).to match(milestone.id.to_s)
+ page.within '.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
+ page.within '.dropdown-menu-labels' do
+ click_link label.title
+ click_link label2.title
+ end
+ page.within '.js-label-select' do
+ expect(page).to have_content label.title
end
+ expect(page.all('input[name="issue[label_ids][]"]', visible: false)[1].value).to match(label.id.to_s)
+ expect(page.all('input[name="issue[label_ids][]"]', visible: false)[2].value).to match(label2.id.to_s)
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
+ page.within '.issuable-sidebar' do
+ page.within '.assignee' do
+ expect(page).to have_content user.name
+ end
+
+ page.within '.milestone' do
+ expect(page).to have_content milestone.title
+ end
+
+ page.within '.labels' do
+ expect(page).to have_content label.title
+ expect(page).to have_content label2.title
+ end
end
end
end
@@ -61,24 +76,43 @@ describe 'New/edit issue', feature: true, js: true do
end
it 'should allow user to update issue' do
- expect(page).to have_content user.name
- expect(page).to have_content milestone.title
+ expect(find('input[name="issue[assignee_id]"]', visible: false).value).to match(user.id.to_s)
+ expect(find('input[name="issue[milestone_id]"]', visible: false).value).to match(milestone.id.to_s)
- click_button 'Labels'
- click_link label.title
- click_link label2.title
+ page.within '.js-user-search' do
+ expect(page).to have_content user.name
+ end
- page.find '.js-label-select' do
- expect(page).to have_content label2.title
+ page.within '.js-milestone-select' do
+ expect(page).to have_content milestone.title
end
+ click_button 'Labels'
+ page.within '.dropdown-menu-labels' do
+ click_link label.title
+ click_link label2.title
+ end
+ page.within '.js-label-select' do
+ expect(page).to have_content label.title
+ end
+ expect(page.all('input[name="issue[label_ids][]"]', visible: false)[1].value).to match(label.id.to_s)
+ expect(page.all('input[name="issue[label_ids][]"]', visible: false)[2].value).to match(label2.id.to_s)
+
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
+ page.within '.issuable-sidebar' do
+ page.within '.assignee' do
+ expect(page).to have_content user.name
+ end
+
+ page.within '.milestone' do
+ expect(page).to have_content milestone.title
+ end
+
+ page.within '.labels' do
+ expect(page).to have_content label.title
+ expect(page).to have_content label2.title
+ end
end
end
end