##事前準備
ターミナル上で下記コマンドを実行してcloneする。
git clone https://github.com/Shu-Hos/pictweet_error.git
cd pictweet_error
bundle install
yarn install
rails db:create
rails db:migrate
###問題1
ターミナルで下記コマンドを実行してください。
bundle exec rspec spec/models/user_spec.rb
するとNoMethodError: undefined method name=' for #<User:xxxxxxx>’
のエラーが発生するかと思います。
まずはこちらをヒントなしで解決しましょう。
###問題2
上記のエラーが改善されて再度こちらのコマンドを実行してください
bundle exec rspec spec/models/user_spec.rb
しかしテストの結果は、Failure/Error:expect(user.errors[:nickname]).to include("is too long (maximum is 6 characters)")
が残ってしまっているかと思います。
こちらを修正してuserのモデル単体テストを成功させてください。
ヒント
###問題3
問題2まで解き終えたら次はtweetのmodel単体テストです。
以下のコマンドを実行してください。
bundle exec rspec spec/models/tweet_spec.rb
すると正常系のテストコードがすべてfailuresになってしまいます。
こちらの修正をお願いします。
ヒント
###問題4
次はtweets_controllerの単体テストです。
以下のコマンドを実行してください。
bundle exec rspec spec/requests/tweets_spec.rb
すると、ActionController::UrlGenerationError
が発生するかと思います。
エラー文をよく読んでこちらの問題を解決しましょう。
ヒント
ここからはtweet機能の結合テスト問題です。
###問題5
以下のコマンドを実行してください。
bundle exec rspec spec/system/tweets_spec.rb
ログインページでログインができずにCapybara::ElementNotFound:Unable to find field "email" that is not disabled
というエラーが発生するかと思います。
まずこちらを解決しましょう。
ヒント
###問題6
こちらで最後の問題になります!
再度以下のコマンドを実行してください。
bundle exec rspec spec/system/tweets_spec.rb
以下のエラーが起きたかと思います。
Failure/Error: expect(page).to_not have_no_selector 'form'expected to find css "form" but there were no matches