【问题标题】:Testing if model is audited without RSpec测试模型是否在没有 RSpec 的情况下进行审核
【发布时间】:2019-07-27 11:46:40
【问题描述】:

我使用已审核的 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】:

    您可以检查 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">
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2023-01-09
      相关资源
      最近更新 更多