Sha256: 76e6168f009916ef3e14bc91d0facb60e555793f783af1deb16c1ef843d5a903
Contents?: true
Size: 1.99 KB
Versions: 4
Compression:
Stored size: 1.99 KB
Contents
require "test_helper" class EmailVerificationsControllerTest < ActionDispatch::IntegrationTest setup do @<%= singular_table_name %>, @token = sign_in_as(<%= table_name %>(:lazaro_nixon)) @sid = @<%= singular_table_name %>.signed_id(purpose: @<%= singular_table_name %>.email, expires_in: 20.minutes) @sid_exp = @<%= singular_table_name %>.signed_id(purpose: @<%= singular_table_name %>.email, expires_in: 0.minutes) @<%= singular_table_name %>.update! verified: false end test "should send a verification email" do assert_enqueued_email_with IdentityMailer, :email_verify_confirmation, args: { <%= singular_table_name %>: @<%= singular_table_name %> } do post email_verification_url, headers: { "Authorization" => "Bearer #{@token}" } end assert_response :no_content end test "should verify email" do get edit_email_verification_url, params: { token: @sid, email: @<%= singular_table_name %>.email }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :no_content end test "should not verify email with expired token" do get edit_email_verification_url, params: { token: @sid_exp, email: @<%= singular_table_name %>.email }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :bad_request assert_equal "That email verification link is invalid", response.parsed_body["error"] end test "should not verify email with previous token" do @<%= singular_table_name %>.update! email: "other_email@hey.com" get edit_email_verification_url, params: { token: @sid, email: @<%= singular_table_name %>.email_previously_was }, headers: { "Authorization" => "Bearer #{@token}" } assert_response :bad_request assert_equal "That email verification link is invalid", response.parsed_body["error"] end def sign_in_as(<%= singular_table_name %>) post(sign_in_url, params: { email: <%= singular_table_name %>.email, password: "Secret123456" }); [<%= singular_table_name %>, response.headers["X-Session-Token"]] end end
Version data entries
4 entries across 4 versions & 1 rubygems