Project

General

Profile

Download (1.13 KB) Statistics
| Branch: | Tag: | Revision:
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