0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rails Tutorial 第10章完了

Posted at

##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画面
の流れでテストしてみました。

users_edit_test.rb
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 ログアウト後にメニューが減る項目も入れました
冗長な気もしますが、ログアウト後にメニューが減ることも確認するテスト項目も入れました。

ネットの他の方の解答と比べると、少し項目が多いです。
デフォルトの画面->ログイン後の画面->ログアウト後の画面
でメニューの項目が増減するのをテストしたいと考えました。

site_layout_test.rb
  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は入れる必要がないように思いました。

ネットの他の方の解答では、パスワードを入力していました。

users_controller_test.rb
    patch user_path(@other_user), params: { user: { password: @other_user.password,
                                                    password_confirmation: @other_user.password_confirmation,
                                                    admin: true } }

私の答えは、前の演習にならってパスワードは""としました。

users_controller_test.rb
    patch user_path(@other_user), params: {
                                     user: { password:              "",
                                             password_confirmation: "",
                                             admin: true } }
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?