Sha256: f86cfb6bce30db9385912787d0040046d6c6990d768c2c74e511904407f9ea77

Contents?: true

Size: 1.38 KB

Versions: 7

Compression:

Stored size: 1.38 KB

Contents

require "test_helper"

class SessionsControllerTest < ActionDispatch::IntegrationTest
  setup do
    @<%= singular_table_name %>, @token = sign_in_as(<%= table_name %>(:lazaro_nixon))
  end

  test "should get index" do
    get sessions_url, headers: { "Authorization" => "Bearer #{@token}" }
    assert_response :success
  end

  test "should show session" do
    get session_url(@<%= singular_table_name %>.sessions.last), headers: { "Authorization" => "Bearer #{@token}" }
    assert_response :success
  end

  test "should sign in" do
    post sign_in_url, params: { email: @<%= singular_table_name %>.email, password: "secret123" }

    assert_enqueued_email_with SessionMailer, :signed_in_notification, args: { session: @<%= singular_table_name %>.sessions.last }
    assert_response :created
  end

  test "should not sign in with wrong credentials" do
    post sign_in_url, params: { email: @<%= singular_table_name %>.email, password: "wrong_password" }
    assert_response :unauthorized
  end

  test "should sign out" do
    delete session_url(@<%= singular_table_name %>.sessions.last), headers: { "Authorization" => "Bearer #{@token}" }
    assert_response :no_content
  end

  def sign_in_as(<%= singular_table_name %>)
    post(sign_in_url, params: { email: <%= singular_table_name %>.email, password: "secret123" })
    [<%= singular_table_name %>, response.headers["X-Session-Token"]]
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
authentication-zero-2.2.7 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.6 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.5 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.4 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.3 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.2 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt
authentication-zero-2.2.1 lib/generators/authentication/templates/test_unit/controllers/api/sessions_controller_test.rb.tt