Переглянути джерело

Cannot clear all watchers when copying an issue (#26880).

git-svn-id: http://svn.redmine.org/redmine/trunk@17153 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/4.0.0
Jean-Philippe Lang 6 роки тому
джерело
коміт
27cd7f478b

+ 1
- 0
app/views/issues/_watchers_form.html.erb Переглянути файл

@@ -1,4 +1,5 @@
<% if @issue.safe_attribute? 'watcher_user_ids' -%>
<%= hidden_field_tag 'issue[watcher_user_ids][]', '' %>
<p id="watchers_form"><label><%= l(:label_issue_watchers) %></label>
<span id="watchers_inputs">
<%= watchers_checkboxes(@issue, users_for_new_issue_watchers(@issue)) %>

+ 41
- 0
test/functional/issues_controller_test.rb Переглянути файл

@@ -3871,6 +3871,7 @@ class IssuesControllerTest < Redmine::ControllerTest

assert_select 'input[type=checkbox][name=?][checked=checked]', 'issue[watcher_user_ids][]', 1
assert_select 'input[type=checkbox][name=?][checked=checked][value=?]', 'issue[watcher_user_ids][]', user.id.to_s
assert_select 'input[type=hidden][name=?][value=?]', 'issue[watcher_user_ids][]', '', 1
end

def test_new_as_copy_with_invalid_issue_should_respond_with_404
@@ -4207,6 +4208,46 @@ class IssuesControllerTest < Redmine::ControllerTest
assert_equal 1, issue.project_id
end

def test_create_as_copy_with_watcher_user_ids_should_copy_watchers
@request.session[:user_id] = 2
copied = Issue.generate!
copied.add_watcher User.find(2)
copied.add_watcher User.find(3)

assert_difference 'Issue.count' do
post :create, :params => {
:project_id => 1,
:copy_from => copied.id,
:issue => {
:subject => 'Copy cleared watchers',
:watcher_user_ids => ['', '3']
}
}
end
issue = Issue.order('id DESC').first
assert_equal [3], issue.watcher_user_ids
end

def test_create_as_copy_without_watcher_user_ids_should_not_copy_watchers
@request.session[:user_id] = 2
copied = Issue.generate!
copied.add_watcher User.find(2)
copied.add_watcher User.find(3)

assert_difference 'Issue.count' do
post :create, :params => {
:project_id => 1,
:copy_from => copied.id,
:issue => {
:subject => 'Copy cleared watchers',
:watcher_user_ids => ['']
}
}
end
issue = Issue.order('id DESC').first
assert_equal [], issue.watcher_user_ids
end

def test_get_edit
@request.session[:user_id] = 2
get :edit, :params => {

Завантаження…
Відмінити
Зберегти