0

我尝试使用 Capybara、Rspec 和 FactoryGirls on Rails 来传递这种友谊特性规范。

出于某种原因,我不明白为什么,我总是在这个错误上失败。看起来会话在运行测试后没有被破坏。

  1) Friendships user requests friendship signed in POST /:username/friendships requests friendship
     Failure/Error: page.should have_content 'Successfully requested friendship.'
       expected there to be text "Successfully requested friendship." in "× You are already signed in. meeter Messages Notifications Settings Settings Logout Explore Dates nearby Suggestions You Messages Notifications Friends Publish Help No ideas found with your criteria."
     # ./spec/features/friendships_spec.rb:32:in `block (5 levels) in <top (required)>'

完整的规格

require 'spec_helper'

include Warden::Test::Helpers
Warden.test_mode!

describe "Friendships" do 

  before(:each) do 
    @user = FactoryGirl.create(:user, :male)
    @friend = FactoryGirl.create(:user, :female)
  end

  describe "GET /:username/friendships" do 
    pending "display friendships"
  end

  context "user requests friendship" do

    context "signed in" do

      after(:each) do 
        Warden.test_reset! 
      end

      describe "POST /:username/friendships" do 
        it "requests friendship" do 
          login_as(@user, scope: :user)
          visit user_path(@friend)
          click_button 'Request Friendship'
          page.should have_content 'Successfully requested friendship.'
          logout(@user)
        end
        pending "friend receives confirmation notification"
      end

      describe "POST /:username/friendships/cancels" do
        pending "cancels a friendship request sent"
      end

    end

    context "not signed in" do 

      describe "POST /:username/friendships" do 
        it "requests friendship" do 
          visit user_path(@friend)
          click_button 'Request Friendship'
          page.should have_content 'You need to sign in first to continue.'
        end
      end
    end

  end

知道如何通过这个吗?

4

0 回答 0