summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-03-23 11:18:39 +0000
committerPhil Hughes <me@iamphill.com>2016-03-23 11:19:32 +0000
commit84f124a14fe9f955f737386b2805d1203e28259e (patch)
tree0503a04bee13b42c980b8483b7aed5e3e7b5d04b
parent7e2806a1230f57b73e7d0628ba917af96537f8fc (diff)
downloadgitlab-ce-84f124a14fe9f955f737386b2805d1203e28259e.tar.gz
Assignee tests
-rw-r--r--app/views/shared/issuable/_filter.html.haml2
-rw-r--r--spec/features/issues/update_issues_spec.rb40
2 files changed, 41 insertions, 1 deletions
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 781d890b51a..719ddfa9881 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -38,7 +38,7 @@
%li
%a{href: "#", data: {id: "close"}} Closed
.filter-item.inline
- = dropdown_tag("Assignee", options: { toggle_class: "js-user-search", title: "Assign to", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable",
+ = dropdown_tag("Assignee", options: { toggle_class: "js-user-search js-update-assignee", title: "Assign to", filter: true, dropdown_class: "dropdown-menu-user dropdown-menu-selectable",
placeholder: "Search authors", data: { first_user: (current_user.username if current_user), null_user: true, current_user: true, project_id: @project.id, field_name: "update[assignee_id]" } })
.filter-item.inline
= dropdown_tag("Milestone", options: { title: "Assign milestone", toggle_class: 'js-milestone-select', filter: true, dropdown_class: "dropdown-menu-selectable",
diff --git a/spec/features/issues/update_issues_spec.rb b/spec/features/issues/update_issues_spec.rb
index 27707d49b9c..70e218cc14f 100644
--- a/spec/features/issues/update_issues_spec.rb
+++ b/spec/features/issues/update_issues_spec.rb
@@ -37,10 +37,50 @@ feature 'Multiple issue updating from issues#index', feature: true do
end
end
+ context 'assignee update', js: true do
+ before do
+ project.team << [user, :master]
+ login_as(user)
+ end
+
+ it 'should update to current user' do
+ visit namespace_project_issues_path(project.namespace, project)
+
+ find('#check_all_issues').click
+ find('.js-update-assignee').click
+
+ find('.dropdown-menu-user-link', text: user.username).click
+ click_update_issues_button
+
+ page.within('.issue .controls') do
+ expect(find('.author_link')["data-original-title"]).to have_content(user.name)
+ end
+ end
+
+ it 'should update to unassigned' do
+ create_assigned
+ visit namespace_project_issues_path(project.namespace, project)
+
+ find('#check_all_issues').click
+ find('.js-update-assignee').click
+
+ find('.dropdown-menu-user-link', text: "Unassigned").click
+ click_update_issues_button
+
+ within first('.issue .controls') do
+ expect(page).to have_no_selector('.author_link')
+ end
+ end
+ end
+
def create_closed
create(:issue, project: project, state: :closed)
end
+ def create_assigned
+ create(:issue, project: project, assignee: user)
+ end
+
def click_update_issues_button
find('.update_selected_issues').click
end