Я хотел бы установить наличие чего-то для «истины» для конкретного экземпляра, который я тестирую. В настоящее время он не существует, поэтому его наличие == false.Установить присутствие в true для тестирования RSpec
Вот код, который у меня есть. Надеюсь, кто-то может помочь.
в invitations_controller:
def join_request
invitation_options = {recipient_id: current_user.id, project_id: @project.id, recipient_email: current_user.email}
if ProjectInvitation.where(invitation_options).present?
flash[:notice] = "You already sent a request to join this project."
redirect_to :back
return
end
в invitations_controller_spec:
describe "Send Join Request" do
before do
@invitation_options = {:recipient_id => @user.id, :project_id => @project.id, :recipient_email => '[email protected]'}
ProjectInvitation.where(@invitation_options).present? == true # This is what I'm stuck on. Pretty sure this doesn't work.
end
context "if you already sent a request" do
it "should tell you that you already sent a request" do
response.should have_text("You already sent a request to join this project.")
end
it "should redirect you to the previous page" do
response.should redirect_to(:back)
end
end
end
Спасибо за предложение. Однако означает ли это, что мне все еще нужно создавать все эти ценности? Невозможно ли просто установить присутствие этой записи в «true» для этого конкретного экземпляра? – blanckien