30 lines
899 B
Ruby
30 lines
899 B
Ruby
require "rails_helper"
|
|
|
|
describe Users::ConfirmationsController do
|
|
before do
|
|
request.env["devise.mapping"] = Devise.mappings[:user]
|
|
end
|
|
|
|
describe "GET show" do
|
|
it "returns a 404 code with a wrong token" do
|
|
expect { get :show, params: { token: "non_existent" } }.to raise_error ActiveRecord::RecordNotFound
|
|
end
|
|
|
|
it "returns a 422 code with a existent and used token" do
|
|
user = create(:user, confirmation_token: "token1")
|
|
|
|
get :show, params: { user: user, confirmation_token: "token1" }
|
|
|
|
expect(response).to have_http_status(:unprocessable_entity)
|
|
end
|
|
|
|
it "redirect to sign_in page with a existent and not used token" do
|
|
user = create(:user, confirmation_token: "token1", confirmed_at: "")
|
|
|
|
get :show, params: { user: user, confirmation_token: "token1" }
|
|
|
|
expect(response).to redirect_to(new_user_session_path)
|
|
end
|
|
end
|
|
end
|