個人的にわかりづらいと思ったのでテストを付け足し。
test "current_user returns nil when remember digest is wrong" do
@user.update_attribute(:remember_digest, User.digest(User.new_token))
assert_nil current_user
end
update_attributeでremember_digestを変更したらそりゃfalseになるよね、
remember_digestが一致しないんだからnilが返ってくるよねって話。
test "current_user returns nil when remember digest is wrong" do
assert @user.authenticated?(@user.remember_token)
@user.update_attribute(:remember_digest, User.digest(User.new_token))
assert_not @user.authenticated?(@user.remember_token)
assert_nil current_user
end