summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-03-23 10:36:30 +0000
committerPhil Hughes <me@iamphill.com>2016-03-23 11:19:32 +0000
commit7e2806a1230f57b73e7d0628ba917af96537f8fc (patch)
tree3763131178b5763c4fb337704888a08d17d74107
parent703f7c5d579a6ab6d7592c24f8e3f2813d9d1703 (diff)
downloadgitlab-ce-7e2806a1230f57b73e7d0628ba917af96537f8fc.tar.gz
Added tests for setting multiple status on issues
-rw-r--r--app/views/shared/issuable/_filter.html.haml2
-rw-r--r--spec/features/issues/update_issues_spec.rb47
2 files changed, 48 insertions, 1 deletions
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 53952e608ea..781d890b51a 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -31,7 +31,7 @@
.issues_bulk_update.hide
= form_tag bulk_update_namespace_project_issues_path(@project.namespace, @project), method: :post do
.filter-item.inline
- = dropdown_tag("Status", options: { toggle_class: "js-issue-status", title: "Change status", dropdown_class: "dropdown-menu-selectable", data: { field_name: "update[state_event]" } } ) do
+ = dropdown_tag("Status", options: { toggle_class: "js-issue-status", title: "Change status", dropdown_class: "dropdown-menu-status dropdown-menu-selectable", data: { field_name: "update[state_event]" } } ) do
%ul
%li
%a{href: "#", data: {id: "reopen"}} Open
diff --git a/spec/features/issues/update_issues_spec.rb b/spec/features/issues/update_issues_spec.rb
new file mode 100644
index 00000000000..27707d49b9c
--- /dev/null
+++ b/spec/features/issues/update_issues_spec.rb
@@ -0,0 +1,47 @@
+require 'rails_helper'
+
+feature 'Multiple issue updating from issues#index', feature: true do
+ let!(:project) { create(:project) }
+ let!(:issue) { create(:issue, project: project) }
+ let!(:user) { create(:user)}
+
+ context 'status update', js: true do
+ before do
+ project.team << [user, :master]
+ login_as(user)
+ end
+
+ it 'should be set to closed' do
+ visit namespace_project_issues_path(project.namespace, project)
+
+ find('#check_all_issues').click
+ find('.js-issue-status').click
+
+ find('.dropdown-menu-status a', text: 'Closed').click
+ click_update_issues_button
+ expect(page).to have_selector('.issue', count: 0)
+ end
+
+ it 'should be set to open' do
+ create_closed
+ visit namespace_project_issues_path(project.namespace, project)
+
+ find('.issues-state-filters a', text: 'Closed').click
+
+ find('#check_all_issues').click
+ find('.js-issue-status').click
+
+ find('.dropdown-menu-status a', text: 'Open').click
+ click_update_issues_button
+ expect(page).to have_selector('.issue', count: 0)
+ end
+ end
+
+ def create_closed
+ create(:issue, project: project, state: :closed)
+ end
+
+ def click_update_issues_button
+ find('.update_selected_issues').click
+ end
+end