foreman/test/models/concerns/audit_associations_test.rb @ 38f854cd
6ed2083b | kgaikwad | require 'test_helper'
|
|
class AuditAssociationsTest < ActiveSupport::TestCase
|
|||
7ccbc550 | Tomer Brisker | setup do
|
|
@user = FactoryBot.build(:user)
|
|||
end
|
|||
let (:role) { FactoryBot.create(:role) }
|
|||
test "Should audit associations on creation" do
|
|||
@user.role_ids = [role.id]
|
|||
@user.save!
|
|||
audit = @user.audits.last
|
|||
38f854cd | Tomer Brisker | assert_equal [role.id], audit.audited_changes['role_ids']
|
|
7ccbc550 | Tomer Brisker | assert_equal 'create', audit.action
|
|
end
|
|||
test "Should audit associations on update" do
|
|||
@user.save!
|
|||
38f854cd | Tomer Brisker | assert_empty @user.audits.last.audited_changes['role_ids']
|
|
7ccbc550 | Tomer Brisker | ||
@user.role_ids = [role.id]
|
|||
@user.save!
|
|||
audit = @user.audits.last
|
|||
38f854cd | Tomer Brisker | assert_equal [[], [role.id]], audit.audited_changes['role_ids']
|
|
7ccbc550 | Tomer Brisker | assert_equal 'update', audit.action
|
|
end
|
|||
test "Should audit associations on destruction" do
|
|||
@user.role_ids = [role.id]
|
|||
@user.save!
|
|||
38f854cd | Tomer Brisker | assert_equal [role.id], @user.audits.last.audited_changes['role_ids']
|
|
7ccbc550 | Tomer Brisker | ||
@user.destroy!
|
|||
audit = @user.audits.last
|
|||
# The default role is added in after_save to the user
|
|||
38f854cd | Tomer Brisker | assert_equal [Role.default.id, role.id].sort, audit.audited_changes['role_ids'].sort
|
|
7ccbc550 | Tomer Brisker | assert_equal 'destroy', audit.action
|
|
end
|
|||
6ed2083b | kgaikwad | end
|