# # => {'title' => 'My book'}
def delete_unsafe_attributes(attrs, user=User.current)
safe = safe_attribute_names(user)
- attrs.dup.delete_if {|k,v| !safe.include?(k)}
+ attrs.dup.delete_if {|k,v| !safe.include?(k.to_s)}
end
# Sets attributes from attrs that are safe
get :new
assert_response :success
assert_select 'input[name=?]', 'role[name]'
+ assert_select 'input[name=?]', 'role[permissions][]'
+ end
+
+ def test_new_should_prefill_permissions_with_non_member_permissions
+ role = Role.non_member
+ role.permissions = [:view_issues, :view_documents]
+ role.save!
+
+ get :new
+ assert_response :success
+ assert_equal %w(view_documents view_issues),
+ css_select('input[name="role[permissions][]"][checked=checked]').map {|e| e.attr('value')}.sort
end
def test_new_with_copy