私はRSpecを使い始めたばかりで、非常に些細なことをしようとしていましたが、これを行うための良い方法に関する良いドキュメントを見つけることができませんでした。一連のイベント、たとえば2人のユーザー間の友情をテストしたいと思います。
私のスペックは:
describe User do
describe "friendships" do
describe ".friends?" do
before do
@user1 = FactoryGirl.build(:user)
@user2 = FactoryGirl.build(:user)
end
it "should be false for non friends" do
@user1.friends?(@user2).should be false
@user2.friends?(@user1).should be false
end
it "should be false for requested friendship" do
Friendship.create(:user_id => @user1.id, :friend_id => @user2.id) # 1
@user1.friends?(@user2).should be false
@user2.friends?(@user1).should be false
end
it "should be true for accepted friendship" do
Friendship.for_users(@user1, @user2).update_attribute(:approved, true) # 2
@user1.friends?(@user2).should be true
@user2.friends?(@user1).should be true
end
end
end
end
とマークされた行で友情を作成していて# 1
、それが行に存在することを期待して# 2
いますが、データベースが2つの間にフラッシュされると推測しています。
これは、そのようなイベントの流れをテストする間違った方法ですか?私は何をすべきですか?任意のポインタをいただければ幸いです。