summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Hughes <me@iamphill.com>2016-03-23 11:45:24 +0000
committerPhil Hughes <me@iamphill.com>2016-03-23 11:45:24 +0000
commit23bfa7a3bdee0ba192babc274bb14b6a51dc8209 (patch)
tree9070e2ee1d8eb2f55727ec966050700671b45961
parent84f124a14fe9f955f737386b2805d1203e28259e (diff)
downloadgitlab-ce-update-issues-tests.tar.gz
Update milestone specupdate-issues-tests
-rw-r--r--app/views/shared/issuable/_filter.html.haml2
-rw-r--r--spec/features/issues/update_issues_spec.rb52
2 files changed, 42 insertions, 12 deletions
diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index 719ddfa9881..f91ff0e3694 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -41,7 +41,7 @@
= 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",
+ = dropdown_tag("Milestone", options: { title: "Assign milestone", toggle_class: 'js-milestone-select', filter: true, dropdown_class: "dropdown-menu-selectable dropdown-menu-milestone",
placeholder: "Search milestones", data: { show_no: true, field_name: "update[milestone_id]", project_id: @project.id, milestones: namespace_project_milestones_path(@project.namespace, @project, :json), use_id: true } })
= hidden_field_tag 'update[issues_ids]', []
= hidden_field_tag :state_event, params[:state_event]
diff --git a/spec/features/issues/update_issues_spec.rb b/spec/features/issues/update_issues_spec.rb
index 70e218cc14f..121954fabca 100644
--- a/spec/features/issues/update_issues_spec.rb
+++ b/spec/features/issues/update_issues_spec.rb
@@ -5,12 +5,12 @@ feature 'Multiple issue updating from issues#index', feature: true do
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
+ before do
+ project.team << [user, :master]
+ login_as(user)
+ end
+ context 'status', js: true do
it 'should be set to closed' do
visit namespace_project_issues_path(project.namespace, project)
@@ -37,12 +37,7 @@ 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
-
+ context 'assignee', js: true do
it 'should update to current user' do
visit namespace_project_issues_path(project.namespace, project)
@@ -73,6 +68,37 @@ feature 'Multiple issue updating from issues#index', feature: true do
end
end
+ context 'milestone', js: true do
+ let(:milestone) { create(:milestone, project: project) }
+
+ it 'should update milestone' do
+ visit namespace_project_issues_path(project.namespace, project)
+
+ find('#check_all_issues').click
+ find('.issues_bulk_update .js-milestone-select').click
+
+ find('.dropdown-menu-milestone a', text: milestone.title).click
+ click_update_issues_button
+
+ expect(find('.issue')).to have_content milestone.title
+ end
+
+ it 'should set to no milestone' do
+ create_with_milestone
+ visit namespace_project_issues_path(project.namespace, project)
+
+ expect(first('.issue')).to have_content milestone.title
+
+ find('#check_all_issues').click
+ find('.issues_bulk_update .js-milestone-select').click
+
+ find('.dropdown-menu-milestone a', text: "No Milestone").click
+ click_update_issues_button
+
+ expect(first('.issue')).to_not have_content milestone.title
+ end
+ end
+
def create_closed
create(:issue, project: project, state: :closed)
end
@@ -81,6 +107,10 @@ feature 'Multiple issue updating from issues#index', feature: true do
create(:issue, project: project, assignee: user)
end
+ def create_with_milestone
+ create(:issue, project: project, milestone: milestone)
+ end
+
def click_update_issues_button
find('.update_selected_issues').click
end