require "rails_helper" RSpec.describe "Signup", type: :feature do let(:user) { create :user } before do @unused_invitation = Invitation.create(user: user) @used_invitation = Invitation.create(user: user) @used_invitation.update_attribute :used_at, DateTime.now - 1.day end scenario "Follow link for non-existing invitation" do visit invitation_url(id: "123") within ".flash-msg.alert" do expect(page).to have_content("doesn't exist") end end scenario "Follow link for used invitation" do visit invitation_url(id: @used_invitation.token) within ".flash-msg.alert" do expect(page).to have_content("has already been used") end end scenario "Follow link for unused invitation" do visit invitation_url(id: @unused_invitation.token) expect(current_url).to eq(signup_url) expect(page).to have_content("Welcome") end scenario "Successful signup" do visit invitation_url(id: @unused_invitation.token) click_link "Get started" end end