##事前準備
ターミナル上で下記コマンドを実行してcloneする。
git clone https://github.com/Shu-Hos/chat-app_error.git
cd chat-app_error
bundle install
yarn install
rails db:create
rails db:migrate
###問題1
ターミナルで下記コマンドを実行してください。
bundle exec rspec spec/models/user_spec.rb
するとNameError: uninitialized constant Faker
のエラーが発生したかと思います。
まずはこちらがErrorではなくfailuresになる段階まで改善してください。
※こちらはヒントなしで解決しましょう。
###問題2
上記のエラーが改善されて再度こちらのコマンドを実行してください
bundle exec rspec spec/models/user_spec.rb
しかしテストの結果は、重複したemailが存在する場合登録できないこと (FAILED - 1)
が残ってしまっているかと思います。
こちらを修正してuserのモデル単体テストを成功させてください。
ヒント
ユーザー1の中身をbinding.pry
を使用して確認してみましょう。
###問題3
問題2まで解き終えたら次はメッセージの単体テストです。
以下のコマンドを実行してください。
bundle exec rspec spec/models/message_spec.rb
するとRuntimeError
が発生したかと思います。
こちらの状態からmessage_spec.rbでもテストがパスするように修正してください。
※エラーの原因は2つあるので、両方修正ができて始めてmessageの単体テストもパスします。
ヒント
②@message.userや@message.roomの中身も必要であれば確認してみましょう。
###問題4
ここからは結合テストのエラー問題です。
以下のコマンドを実行してください。
bundle exec rspec spec/system/message_spec.rb
すると、ログインができずにテストが通らないかと思います。
まずは結合テスト内でログインがされている段階を目標にコードの修正をしてください。
ヒント
###問題5
ここまで来ましたが、ログインしても投稿が出来ずにテストがまだ
通らないかと思います。
最後にこちらの問題を解決してmessage_spec.rbの結合テストを成功させてください
bundle exec rspec spec/system/message_spec.rb
ヒント
お疲れさまです!!
何かご不明点とかあれば、今後ぜひ教えてください!