Project

General

Profile

« Previous | Next » 

Revision 38f854cd

Added by Tomer Brisker almost 6 years ago

Fixes #23965 - Only save ids for association audits (#5753)

Otherwise, we have issues when trying to check revisions of the audit
since it will fail trying to assign a string to an attribute that
expects an object id.

View differences:

test/models/usergroup_test.rb
test 'should audit when a child-usergroup is assigned to a parent-usergroup' do
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:usergroups]
audited_changes = recent_audit.audited_changes[:usergroup_ids]
assert audited_changes, 'No audits found for usergroups'
assert_empty audited_changes.first
assert_equal @child_usergroup.name, audited_changes.last
assert_equal [@child_usergroup.id], audited_changes.last
end
test 'should audit when a child-usergroup is removed/de-assigned from a parent-usergroup' do
@usergroup.usergroup_ids = []
@usergroup.save
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:usergroups]
audited_changes = recent_audit.audited_changes[:usergroup_ids]
assert audited_changes, 'No audits found for usergroups'
assert_equal @child_usergroup.name, audited_changes.first
assert_equal [@child_usergroup.id], audited_changes.first
assert_empty audited_changes.last
end
end
......
test 'should audit when a role is assigned to a usergroup' do
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:roles]
audited_changes = recent_audit.audited_changes[:role_ids]
assert audited_changes, 'No audits found for user-roles'
assert_empty audited_changes.first
assert_equal @role.name, audited_changes.last
assert_equal [@role.id], audited_changes.last
end
test 'should audit when a role is removed/de-assigned from a usergroup' do
@usergroup.role_ids = []
@usergroup.save
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:roles]
audited_changes = recent_audit.audited_changes[:role_ids]
assert audited_changes, 'No audits found for usergroup-roles'
assert_equal @role.name, audited_changes.first
assert_equal [@role.id], audited_changes.first
assert_empty audited_changes.last
end
end
......
test 'should audit when a user is assigned to a usergroup' do
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:users]
audited_changes = recent_audit.audited_changes[:user_ids]
assert audited_changes, 'No audits found for users'
assert_empty audited_changes.first
assert_equal @user.name, audited_changes.last
assert_equal [@user.id], audited_changes.last
end
test 'should audit when a user is removed/de-assigned from a usergroup' do
@usergroup.user_ids = []
@usergroup.save
recent_audit = @usergroup.audits.last
audited_changes = recent_audit.audited_changes[:users]
audited_changes = recent_audit.audited_changes[:user_ids]
assert audited_changes, 'No audits found for users'
assert_equal @user.name, audited_changes.first
assert_equal [@user.id], audited_changes.first
assert_empty audited_changes.last
end
end

Also available in: Unified diff