测试是否在没有RSpec的情况下审核模型

问题描述 投票:0回答:1

我使用audited gem来审核模型上的所有更改。在gem规范(https://www.rubydoc.info/github/collectiveidea/audited/Audited/RspecMatchers)中,我们可以找到如何使用RSpec测试它的信息,即:

it { should be_audited }
it { should be_audited.associated_with(:user) }

我想做类似的测试,但没有RSpec - 任何建议如何做到这一点?

ruby-on-rails ruby-on-rails-5 acts-as-audited
1个回答
2
投票

您可以检查respond_to?是否附带审计gem的某些方法。喜欢

User.respond_to?(:audited)
# or
User.respond_to?(:audits)

您也可以使用自述文件中的auditing_enabled选项。

User.auditing_enabled

当审计存在时,返回默认值为true。

相关审核也是如此。只需为您建立一个数据结构关系,并检查审核是否等于您的预期结果。以审计自述文件为例,举例:

company = Company.create!(name: "Collective Idea")
user = company.users.create!(name: "Steve")
user.update_attribute!(name: "Steve Richert")
user.audits.last.associated # => #<Company name: "Collective Idea">
company.associated_audits.last.auditable # => #<User name: "Steve Richert">

然后,您可以轻松检查相关审核是否符合您的要求。

© www.soinside.com 2019 - 2024. All rights reserved.