FactoryBot.define do factory :issue do # Default to reporting users reportable :factory => :user reported_user :factory => :user # Default to assigning to an administrator assigned_role { "administrator" } # Optionally create some reports for this issue factory :issue_with_reports do transient do reports_count { 1 } end after(:create) do |issue, evaluator| create_list(:report, evaluator.reports_count, :issue => issue) end end end end