メソッドをテストするための仕様を書いていdown_vote
ます。しかし、これをテストするには、データベースに既存の投票のエントリが必要です。したがって、私の仕様は次のようになります。
describe "down_vote" do
it "lowers vote count" do
video = Factory.create(:video)
user = Factory.create(:user)
vote = Factory.vote(:vote, :voter_id => user.id, :voteable_id => video.id)
expect do
user.down_vote(video)
end.to change{ Vote.count }.by 1
end
end
このようなスペック/テストを書いて大丈夫ですか?あまり慣れていないセットアップがたくさんあるようですが、それをテストする他の方法は本当にわかりません。