Rails Tutorialやってみた!36(12章-2)

公開日:2019-05-05
最終更新:2019-05-05

100DaysOfCode 60/100

今日やること

  • PasswordResetsメイラーの作成
  • メイラーのテスト

メイラーの作成

アカウント有効化メイラーを作った際、password_resetメソッドもあらかじめ用意していました。

これを実際に使えるように実装していきます。

<%= edit_password_reset_url(@user.reset_token, email: @user.email) %>  

このリンクを含むテキスト/HTMLメールを、ビューとして作成していきます。

メールの内容をプレビューで確認するために、user_mailer_previewにも忘れずに追記します。

リンクが正しく生成されていることを確認できました!

メイラーのテスト

テストで確認すべき内容もアカウント有効化メールのときとあまり変わりません。

test "password_reset" do  
  user = users(:michael)  
  user.reset_token = User.new_token  
  mail = UserMailer.password_reset(user)  
  assert_equal "Password reset", mail.subject  
  assert_equal [user.email], mail.to  
  assert_equal ["[email protected]"], mail.from  
  assert_match user.reset_token,        mail.body.encoded  
  assert_match CGI.escape(user.email),  mail.body.encoded  
end  

メールの内容、送信先、リンクが正しいこと、エスケープが適切に行われていることをテストします。

これで、メイラーが正しく実装できていることを保証できます。

終わりに

ここ数日バタバタしておりあまり進められていません……。
出先でも空いた時間をうまく学習時間に充てるなど、時間の使い方を工夫していきたいです。

GW残りの2日間はある程度まとまった学習時間が取れそうなので、改めて頑張ります。

今後やること

  • パスワードの再設定、更新機能の実装とテスト
  • 本を読んでインプット(継続中)

現在主に読んでいるのは「Everyday Rails」です。

RSpecの優れている点や使い方が少しわかってきたので、練習を兼ねてオリジナルアプリに関してはRSpecでテストを書き直す予定です。

記事が少しでもいいなと思ったらクラップを送ってみよう!
0
+1
@tammcの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする