0

Divisions モデルと Scorable モデルがあり、以下のように関連付けられています。

class Division < ActiveRecord::Base
  has_one :scoring, :as => :scorable

  validates :name, :presence => true
  validates :scoring, :presence => true
end

class Scoring < ActiveRecord::Base
  belongs_to :scorable, polymorphic: true

  validates :scorable, :presence => true
end

これらのモデルで検証をテストするにはどうすればよいですか? これらの各ファクトリに相互の参照が含まれていると、スタック オーバーフローが発生します。ただし、以下のようにファクトリを作成すると、テスト時に (明らかに) Scorable can't be blank エラーが発生します。

FactoryGirl.define do
  factory :division do
    name "Division"
    organisation
    association :scoring, factory: :scoring
end

FactoryGirl.define do
  factory :scoring do
    first 12
    second 10
    third 8
    scorable nil
  end
end

両方のモデルからの関連付けの存在をテストするにはどうすればよいですか?

4

1 に答える 1