##2020/7/29 0.5時間
リンクを作る前まで進めました。
##2020/7/30 0.5時間
演習10.1.1でエラーになり、朝やっているのですが時間切れになりました。
フィッシング対策で"noopener"を設定するのは知りませんでした。
##2020/7/31 0.5時間
演習10.1.1のprovideが理解できず時間がかかりました。
##2020/8/1 1.5時間
休みなので時間がとれました。
10.1まで完了しました。
##2020/8/2 2時間
途中難しくて寝てしまいますが、朝なので続けられました。夜だと続けれれなかったと思います。
testがエラーで、入力間違いが見つけられません。
##2020/8/3 1時間
この日は出社日で、朝は時間がとれなかったので、夜にやりました。前日の入力間違いを見つけられました。
##2020/8/4 0.5時間
10.2.3まで進めました。
##2020/8/5 2.0時間
夏休み1週間が始まりました。
10.3.1の途中まで進めました。
##2020/8/6 2.0時間
10.3.1完了しました。
途中寝てしまいますが、続けられました。
##2020/8/7 2.5時間
これで10章が終わりました。
8/5から夏休みに入り、はかどりました。
所要時間は13.0時間です。
##演習10.2.3.1 testを一連の流れでテストしてみました
次回以降のログインのときには、転送先のURLはデフォルト (プロフィール画面) に戻っている必要があります。
の一連を
EDIT画面,ログイン、EDIT画面、ログアウト、ログイン、SHOW画面
の流れでテストしてみました。
test "friendly forwarding only once" do
get edit_user_path(@user)
assert_equal session[:forwarding_url], edit_user_url(@user)
log_in_as(@user)
assert_redirected_to edit_user_url(@user)
delete logout_path
assert_nil session[:forwarding_url]
log_in_as(@user)
assert_redirected_to @user
follow_redirect!
assert_template 'users/show'
end
##演習10.3.1.1 ログアウト後にメニューが減る項目も入れました
冗長な気もしますが、ログアウト後にメニューが減ることも確認するテスト項目も入れました。
ネットの他の方の解答と比べると、少し項目が多いです。
デフォルトの画面->ログイン後の画面->ログアウト後の画面
でメニューの項目が増減するのをテストしたいと考えました。
test "layout links" do
get root_path
assert_template 'static_pages/home'
assert_select "a[href=?]", root_path, count: 2
assert_select "a[href=?]", help_path
assert_select "a[href=?]", about_path
assert_select "a[href=?]", contact_path
get contact_path
assert_select "title", full_title("Contact")
get signup_path
assert_select "title", full_title("Sign up")
end
test "login logout links" do
log_in_as(@user)
follow_redirect!
assert_template 'users/show'
assert_select "a[href=?]", root_path, count: 2
assert_select "a[href=?]", help_path
assert_select "a[href=?]", users_path
assert_select "a[href=?]", user_path(@user)
assert_select "a[href=?]", edit_user_path(@user)
assert_select "a[href=?]", login_path, count: 0
assert_select "a[href=?]", logout_path
# after logout
delete logout_path
follow_redirect!
assert_template 'static_pages/home'
assert_select "a[href=?]", root_path, count: 2
assert_select "a[href=?]", help_path
assert_select "a[href=?]", users_path, count:0
assert_select "a[href=?]", user_path(@user), count:0
assert_select "a[href=?]", edit_user_path(@user), count:0
assert_select "a[href=?]", login_path
assert_select "a[href=?]", logout_path, count: 0
end
##演習10.4.1.1 testでpasswordは入れる必要がないのでは
testでpasswordは入れる必要がないように思いました。
ネットの他の方の解答では、パスワードを入力していました。
patch user_path(@other_user), params: { user: { password: @other_user.password,
password_confirmation: @other_user.password_confirmation,
admin: true } }
私の答えは、前の演習にならってパスワードは""としました。
patch user_path(@other_user), params: {
user: { password: "",
password_confirmation: "",
admin: true } }