Tests to validate the flow of token already used
This commit is contained in:
@@ -9,5 +9,13 @@ describe Users::ConfirmationsController do
|
|||||||
it "returns a 404 code with a wrong token" do
|
it "returns a 404 code with a wrong token" do
|
||||||
expect { get :show, params: { token: "non_existent" } }.to raise_error ActiveRecord::RecordNotFound
|
expect { get :show, params: { token: "non_existent" } }.to raise_error ActiveRecord::RecordNotFound
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "redirect to sign_in page with a existent token " do
|
||||||
|
user = create(:user, confirmation_token: "token1")
|
||||||
|
|
||||||
|
get :show, params: { user: user, confirmation_token: "token1" }
|
||||||
|
|
||||||
|
expect(response).to redirect_to(new_user_session_path)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -30,6 +30,30 @@ describe "Users" do
|
|||||||
|
|
||||||
expect(page).to have_content error_message
|
expect(page).to have_content error_message
|
||||||
end
|
end
|
||||||
|
|
||||||
|
scenario "User already confirmed email with the token" do
|
||||||
|
message = "You have been sent a message containing a verification link. Please click on this link to activate your account."
|
||||||
|
visit "/"
|
||||||
|
click_link "Register"
|
||||||
|
|
||||||
|
fill_in "Username", with: "Manuela Carmena"
|
||||||
|
fill_in "Email", with: "manuela@consul.dev"
|
||||||
|
fill_in "Password", with: "judgementday"
|
||||||
|
fill_in "Confirm password", with: "judgementday"
|
||||||
|
check "user_terms_of_service"
|
||||||
|
|
||||||
|
click_button "Register"
|
||||||
|
|
||||||
|
expect(page).to have_content message
|
||||||
|
|
||||||
|
confirm_email
|
||||||
|
expect(page).to have_content "Your account has been confirmed."
|
||||||
|
|
||||||
|
sent_token = /.*confirmation_token=(.*)".*/.match(ActionMailer::Base.deliveries.last.body.to_s)[1]
|
||||||
|
visit user_confirmation_path(confirmation_token: sent_token)
|
||||||
|
|
||||||
|
expect(page).to have_content "You have already been verified; please attempt to sign in."
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
context "Sign in" do
|
context "Sign in" do
|
||||||
|
|||||||
Reference in New Issue
Block a user