has_manyのクラスのインスタンスをRSpecで呼び出す
RailsでCompanyクラスがPastDataをhas_manyで持つ関係において
下記のようなコードを書いたのですが
describe Company do
describe "exmaple test" do
let(:company){ Company.create }
context "fooが10の時" do
let(:past_data){ company.past_data.build(foo: 10) }
it "barは20" do
expect(company.past_data_bar).to eq(20)
end
end
end
end
app/models/company.rb
def past_data_bar
past_data.bar
end
以下のように NoMethodErrorになってしまいます。
NoMethodError:
undefined method `bar' for nil:NilClass
company.past_dataがnilになっているのが原因なのはわかるのですが、解決方法がわかりませんでした。
company.past_data.barと呼び出していますが、実際のコードではCompanyクラスの内部メソッドでpast_dataを呼び出しています。
RSpecでhas_manyの関係にあるクラスを呼び出しているメソッドのテストはどのように書けば良いのでしょうか?