序文
ついにストーブを入れました。
今年もまたハロゲンヒーター1台で乗り切る冬がやってくるお…
一応部屋にエアコン備え付いてるんですけど、ガスエアコンとかいう糞高い昭和の遺物なんですよね…
進捗
- 第10章ユーザーの更新・表示・削除
- 10.2 認可
コード実装部分(一部)
/sample_app/test/integration/users_edit_test.rb
require 'test_helper' # ユーザーデータ編集のテスト class UsersEditTest < ActionDispatch::IntegrationTest # fixturesで設定したデータを取得 def setup @user = users(:michael) end (中略) # ユーザーデータ編集成功 test "successful edit with friendly forwarding" do # ログインしていない状態で # GETで/users/:id/editにアクセスする get edit_user_path(@user) # その後ログインする log_in_as(@user) # リダイレクト先がユーザーデータの編集ページか assert_redirected_to edit_user_url(@user) # 実際にリダイレクトする follow_redirect! # /sample_app/app/views/users/edit.html.erb # のテンプレートが適用されているか assert_template 'users/edit' # ユーザーデータを編集する name = "Foo Bar" email = "foo@bar.com" # PATCHで/users/:idにデータを送信する patch user_path(@user), params: { user: { name: name, email: email, password: "", password_confirmation: "" } } # flashにメッセージ(編集成功)がセットされるか assert_not flash.empty? # ユーザーデータへリダイレクトされるか assert_redirected_to @user # @userに代入されているユーザーデータを更新する @user.reload # ちゃんと変更されているか assert_equal name, @user.name assert_equal email, @user.email # 再びログインする log_in_as(@user) # 転送先URLが初期化されているか assert_equal session[:forwarding_url], nil end end
GitHub
実行結果
特になし
感想
違うユーザーがユーザーデータを編集できないようにしたり、ログイン直後のURLを状況に応じて設定したりといった機能をテスト駆動で実装。
昨日よりは集中していたと思うのだけど、まったく進まなかった。
特に最後の演習でCloud9の調子がおかしくなり、再起動の方法とか必死に調べているうちにあっという間に時間になってしまった。
AWSマネジメントコンソールからEC2インスタンスの再起動を行う方法(非エンジニア向け)
演習の文章に「デバッガーがおかしな挙動を見せたりします」とか書いてるので既知の障害らしい。
メソッドジャンプ(?)のショートカットにやっと気づいたので、明日はもう少し捗ればいいなと思っている。
(そういうのこそググらないと…)
カロリーメイトください。

- 出版社/メーカー: 大塚製薬
- メディア: 食品&飲料
- この商品を含むブログを見る
今日のunityroom
休止!