質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.06%

テストが通らない(deviseを使いrailsチュートリアル復習中)

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 442

score 8

前提・実現したいこと

テストが通りません。
railsチュートリアル完走後、
railsチュートリアルを参考にしながら新たにdeviseによるログイン実装しました。
正常に可動するのですが、railsチュートリアルのリスト(8.23)のassert_redirected_toのところがうまくできません。

発生している問題・エラーメッセージ

(test/integration/users_login_test.rb)

require 'test_helper'

class UsersLoginTest < ActionDispatch::IntegrationTest

  def setup
    @user = users(:michael)
  end

  test "login with invalid information" do
    get new_user_session_path
    post new_user_session_path, params:{ session: {email: @user.email,
                                password: 'password'}}
    assert_redirected_to root_url
    follow_redirect!
    assert_template 'sessions/new'
    post new_user_session_path, params: { session: { email: "", password: "" } }
    assert_template 'sessions/new'
    assert_not flash.empty?
    get root_path
    assert flash.empty?
  end
end

テスト結果 エラーメッセージ

 1) Failure:UsersLoginTest#test_login_with_invalid_information [/home/ec2-user/environment/instagram/test/integration/users_login_test.rb:13]:Expected response to be a <3XX: redirect>, but was a <200: OK>

該当のソースコード

(controllers/users/registrations_controller.rb)

,
,
def after_sign_in_path_for(resource)
  admin_root_path
end
,
,

現状のルーティング

Cloud9User:~/environment/instagram (develop) $ rails routes
                          Prefix Verb     URI Pattern                                           Controller#Action
                new_user_session GET      /users/sign_in(.:format)                              users/sessions#new
                    user_session POST     /users/sign_in(.:format)                              users/sessions#create
            destroy_user_session DELETE   /users/sign_out(.:format)                             users/sessions#destroy
user_facebook_omniauth_authorize GET|POST /users/auth/facebook(.:format)                        users/omniauth_callbacks#passthru
 user_facebook_omniauth_callback GET|POST /users/auth/facebook/callback(.:format)               users/omniauth_callbacks#facebook
               new_user_password GET      /users/password/new(.:format)                         devise/passwords#new
              edit_user_password GET      /users/password/edit(.:format)                        devise/passwords#edit
                   user_password PATCH    /users/password(.:format)                             devise/passwords#update
                                 PUT      /users/password(.:format)                             devise/passwords#update
                                 POST     /users/password(.:format)                             devise/passwords#create
        cancel_user_registration GET      /users/cancel(.:format)                               users/registrations#cancel
           new_user_registration GET      /users/sign_up(.:format)                              users/registrations#new
          edit_user_registration GET      /users/edit(.:format)                                 users/registrations#edit
               user_registration PATCH    /users(.:format)                                      users/registrations#update
                                 PUT      /users(.:format)                                      users/registrations#update
                                 DELETE   /users(.:format)                                      users/registrations#destroy
                                 POST     /users(.:format)                                      users/registrations#create
                    profile_edit GET      /profile_edit(.:format)                               users/registrations#profile_edit
                  profile_update PATCH    /profile_update(.:format)                             users/registrations#profile_update
                            root GET      /                                                     home#index
                            show GET      /show(.:format)                                       users#show
                            book GET      /book(.:format)                                       home#book
                           users GET      /users(.:format)                                      users#index
                            user GET      /users/:id(.:format)                                  users#show
                                 DELETE   /users/:id(.:format)                                  users#destroy
                  following_user GET      /users/:id/following(.:format)                        users#following
                  followers_user GET      /users/:id/followers(.:format)                        users#followers
                                 GET      /users(.:format)                                      users#index
                                 POST     /users(.:format)                                      users#create
                        new_user GET      /users/new(.:format)                                  users#new
                       edit_user GET      /users/:id/edit(.:format)                             users#edit
                                 GET      /users/:id(.:format)                                  users#show
                                 PATCH    /users/:id(.:format)                                  users#update
                                 PUT      /users/:id(.:format)                                  users#update
                                 DELETE   /users/:id(.:format)                                  users#destroy
                   relationships POST     /relationships(.:format)                              relationships#create
                    relationship DELETE   /relationships/:id(.:format)                          relationships#destroy
              micropost_comments GET      /microposts/:micropost_id/comments(.:format)          comments#index
                                 POST     /microposts/:micropost_id/comments(.:format)          comments#create
           new_micropost_comment GET      /microposts/:micropost_id/comments/new(.:format)      comments#new
          edit_micropost_comment GET      /microposts/:micropost_id/comments/:id/edit(.:format) comments#edit
               micropost_comment GET      /microposts/:micropost_id/comments/:id(.:format)      comments#show
                                 PATCH    /microposts/:micropost_id/comments/:id(.:format)      comments#update
                                 PUT      /microposts/:micropost_id/comments/:id(.:format)      comments#update
                                 DELETE   /microposts/:micropost_id/comments/:id(.:format)      comments#destroy
                      microposts POST     /microposts(.:format)                                 microposts#create
                   new_micropost GET      /microposts/new(.:format)                             microposts#new
                       micropost GET      /microposts/:id(.:format)                             microposts#show
                                 DELETE   /microposts/:id(.:format)                             microposts#destroy

試したこと

redirectを正しく理解していないようで、試行錯誤したがうまく行きませんでした。
その他必要な情報等あれば、追加投稿いたしいます。

よろしくお願いいたします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.06%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る