質問編集履歴
1
テスト対象のコードを「補足情報」に追記しました。よろしくお願いいたします。
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -62,4 +62,61 @@ 
     | 
|
| 
       62 
62 
     | 
    
         | 
| 
       63 
63 
     | 
    
         
             
            ### 補足情報(FW/ツールのバージョンなど)
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
      
 65 
     | 
    
         
            +
            テスト対象のコードは、次の通りです。
         
     | 
| 
      
 66 
     | 
    
         
            +
            ```
         
     | 
| 
      
 67 
     | 
    
         
            +
            module SessionsHelper
         
     | 
| 
      
 68 
     | 
    
         
            +
             
     | 
| 
      
 69 
     | 
    
         
            +
              # Logs in the given user.
         
     | 
| 
      
 70 
     | 
    
         
            +
              def log_in(user)
         
     | 
| 
      
 71 
     | 
    
         
            +
                session[:user_id] = user.id
         
     | 
| 
      
 72 
     | 
    
         
            +
              end
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
              # Remembers a user in a persistent session
         
     | 
| 
      
 75 
     | 
    
         
            +
              def remember(user)
         
     | 
| 
      
 76 
     | 
    
         
            +
                user.remember
         
     | 
| 
      
 77 
     | 
    
         
            +
                cookies.permanent.encrypted[:user_id] = user.id
         
     | 
| 
      
 78 
     | 
    
         
            +
                cookies.permanent[:remember_token] = user.remember_token
         
     | 
| 
      
 79 
     | 
    
         
            +
              end
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
              #Returns the user corresponding to the remember token cookie.
         
     | 
| 
      
 82 
     | 
    
         
            +
              def current_user
         
     | 
| 
      
 83 
     | 
    
         
            +
                if (user_id = session[:user_id])
         
     | 
| 
      
 84 
     | 
    
         
            +
                  @current_user ||= User.find_by(id: user_id)
         
     | 
| 
      
 85 
     | 
    
         
            +
                elsif (user_id = cookies.encrypted[:user_id])
         
     | 
| 
      
 86 
     | 
    
         
            +
                  user = User.find_by(id: user_id)
         
     | 
| 
      
 87 
     | 
    
         
            +
                  if user && user.authenticated?(cookies[:remember_token])
         
     | 
| 
      
 88 
     | 
    
         
            +
                    log_in user
         
     | 
| 
      
 89 
     | 
    
         
            +
                    @current_user = user
         
     | 
| 
      
 90 
     | 
    
         
            +
                  end
         
     | 
| 
      
 91 
     | 
    
         
            +
                end
         
     | 
| 
      
 92 
     | 
    
         
            +
              end
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
              # Returns the current logged-in user (if any)
         
     | 
| 
      
 95 
     | 
    
         
            +
              def current_user
         
     | 
| 
      
 96 
     | 
    
         
            +
                if session[:user_id]
         
     | 
| 
      
 97 
     | 
    
         
            +
                  @current_user ||= User.find_by(id: session[:user_id])
         
     | 
| 
      
 98 
     | 
    
         
            +
                end
         
     | 
| 
      
 99 
     | 
    
         
            +
              end
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
              # Returns true if the user is logged in, false otherwise.
         
     | 
| 
      
 102 
     | 
    
         
            +
              def logged_in?
         
     | 
| 
      
 103 
     | 
    
         
            +
                !current_user.nil?
         
     | 
| 
      
 104 
     | 
    
         
            +
              end
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
      
 106 
     | 
    
         
            +
              # Forgets a persistent session.
         
     | 
| 
      
 107 
     | 
    
         
            +
              def forget(user)
         
     | 
| 
      
 108 
     | 
    
         
            +
                user.forget
         
     | 
| 
      
 109 
     | 
    
         
            +
                cookies.delete(:user_id)
         
     | 
| 
      
 110 
     | 
    
         
            +
                cookies.delete(:remember_token)
         
     | 
| 
      
 111 
     | 
    
         
            +
              end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
              # Logs out the current user.
         
     | 
| 
      
 114 
     | 
    
         
            +
              def log_out
         
     | 
| 
      
 115 
     | 
    
         
            +
                forget(current_user)
         
     | 
| 
      
 116 
     | 
    
         
            +
                reset_session
         
     | 
| 
      
 117 
     | 
    
         
            +
                @current_user = nil
         
     | 
| 
      
 118 
     | 
    
         
            +
              end
         
     | 
| 
      
 119 
     | 
    
         
            +
            end
         
     | 
| 
      
 120 
     | 
    
         
            +
            ```
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
       65 
122 
     | 
    
         
             
            初心者で初めての質問です。行き届かない所があろうかと思いますが、ご指導頂けると嬉しいです。よろしくお願いいたします。
         
     |