Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

最後の回答から1週間経過したら質問を投稿した人に通知されるようにした #5587

Merged
merged 32 commits into from
Nov 21, 2022

Conversation

keiz1213
Copy link
Contributor

@keiz1213 keiz1213 commented Sep 24, 2022

issue

概要

質問に対する最後の回答から1週間が経過し、ベストアンサーが決まっていない場合に質問を投稿した人にサイト内通知とメール通知が行くようにしました。

背景

質問した人がベストアンサーを決め忘れ、closeされないまま未解決の質問として残る問題が背景にあります。

変更確認の準備

定期イベントのdiscord通知をコメントアウトする

変更を確認する際に、曜日によっては定期イベントのdiscord通知が動いてしまうので、コメントアウトしてください。

# app/controllers/scheduler/daily_controller.rb

class Scheduler::DailyController < SchedulerController
  def show
    User.notify_to_discord
    User.retired.find_each do |retired_user|
      if retired_user.retired_three_months_ago_and_notification_not_sent?
        User.admins.each do |admin_user|
          Notification.three_months_after_retirement(retired_user, admin_user)
          NotificationFacade.three_months_after_retirement(retired_user, admin_user)
          retired_user.update!(notified_retirement: true)
        end
      end
    end

   # if RegularEvent.tomorrow_events.present?
    #  RegularEvent.tomorrow_events.each do |regular_event|
      #  NotificationFacade.tomorrow_regular_event(regular_event)
     # end
  #  end

    Question.notify_of_pending if Question.not_solved_and_a_week_has_passed.present?
    head :ok
  end
end

変更確認方法

  1. feature/notify-after-one-week-from-last-answerをローカルに取り込む
  2. rails cで2週間前の質問を2つ作成する
# user_id → kimuraのid
# practice_id → Terminalの基礎を覚える のid
# 2つ作成してください(自分は2つ目はtitleをtest2としました)

Question.create!(title: "test", description: "test", user_id: 991528156, created_at: Time.current.ago(2.week), updated_at: Time.current.ago(2.week), published_at: Time.current.ago(2.week), practice_id: 198065840)
  1. rails sでサーバー起動
  2. kimuraでログイン
  3. http://localhost:3000/users/991528156/questions にアクセスする

_development__kimuraの質問一覧___FBC_🔊

  1. 作成した2つの質問の詳細ページにアクセスしそれぞれのidを確認する

_development__test___FBC_🔊

  1. rails cで、1つ目の質問に現在から6日前の日付で回答を作成する
Answer.create!(description: "6日前", user_id: 991528156, question_id: 1037106415, created_at: Time.current.ago(6.day), updated_at: Time.current.ago(6.day))

_development__test___FBC_🔊

  1. http://localhost:3000/scheduler/daily にアクセスし、ダッシュボードに戻って通知が来ていないことを確認する

_development__ダッシュボード___FBC_🔊

  1. rails cで、2つ目の質問に現在から7日前の日付で回答を作成する
Answer.create!(description: "7日前", user_id: 991528156, question_id: 1037106416, created_at: Time.current.ago(1.week), updated_at: Time.current.ago(1.week))

_development__test2___FBC_🔊

  1. http://localhost:3000/scheduler/daily にアクセスし、ダッシュボードに戻って通知が来ていることを確認する

_development__ダッシュボード___FBC_🔊

  1. http://localhost:3000/letter_opener/ にアクセスしメール通知が来ていることを確認する

_development__LetterOpenerWeb_🔊

@keiz1213 keiz1213 self-assigned this Sep 26, 2022
@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch 3 times, most recently from 40b9a16 to b8e9048 Compare October 2, 2022 13:42
@@ -29,7 +29,7 @@ def hibernated(params = {})
def tomorrow_regular_event(params = {})
params.merge!(@params)
event = params[:event]
webhook_url = params[:webhook_url] || ENV['DISCORD_ALL_WEBHOOK_URL']
webhook_url = params[:webhook_url] || Rails.application.secrets[:webhook][:admin]
Copy link
Contributor Author

@keiz1213 keiz1213 Oct 2, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

今回の変更とは関係ありませんが、tomorrow_regular_eventメソッドのwebhook_urlの取得方法を変更しました。変更前の取得方法では、テスト時にエラーが起きてしまうためです。(定期イベント機能についてはまだ本番環境でリリースされておらずコメントアウトされているらしいです。)

こちらのPR #5542 にてsecretsから取得する方法に変更することが駒形さんから許可が出ており、本PRでもそのように変更しました。

@keiz1213 keiz1213 marked this pull request as ready for review October 3, 2022 03:41
@keiz1213
Copy link
Contributor Author

keiz1213 commented Oct 4, 2022

@pachikuriii

お疲れさまです!こちらレビュー頂いてもよろしいでしょうか?全く急いでないのでいつでも大丈夫です😄ご都合が合わない等ありましたらお気軽にご連絡ください😄

@keiz1213 keiz1213 requested a review from pachikuriii October 4, 2022 03:30
@pachikuriii
Copy link

@keiz1213
おつかれさまです〜☕️!レビューのご依頼ありがとうございます〜!
2,3日以内に完了できれば…と思っているのですが、そんなスケジュール感でもよければ
是非レビューさせていただけると嬉しいです💪🏻

@keiz1213
Copy link
Contributor Author

keiz1213 commented Oct 4, 2022

@pachikuriii
2〜3日以上かかっても全然大丈夫ですのでよろしくお願いします!🙏

Copy link

@pachikuriii pachikuriii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213
こんばんは🌛
ナカムラさん、大変お待たせしました🙏ばっちり、動作確認できました🎉新たな機能を作られるにあたってメソッドやテストの新規作成にしっかり対応されていてすごいなぁ…と思いました!!!

レビューさせていただく過程で通知のしくみや類似のPRがどう対応してきたか?など私なりに調べてみましたが、間違っている点などありましたら教えていただけるとうれしいです〜 🙏
よりよいコードになりますように…と思いつつ、今のわたしが出来る範囲でレビューさせていただきました👀🌻5点コメントしております。

@@ -34,6 +34,26 @@ class Question < ApplicationRecord

mentionable_as :description

class << self
def notify_of_pending
Copy link

@pachikuriii pachikuriii Oct 7, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

notify_of_pendingの命名につきまして🌸

ベストアンサーを選ぶことを促す通知にまつわるメソッドなので、notify_to_chose_correct_answerみたいな感じはどうかな〜??と思いました☺️(ちょっと長いですかね〜…)
notify_of_pendingでも理解できるんですが、質問の投稿が何らかの理由で保留されている or WIPになっているという捉え方もできるような気がしました。

あくまでご提案まで…!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確かにそのような場合も考慮すると、ちょっと抽象的すぎる気がしました💡色々考えたのですが、提案いただいたメソッド名を参考に修正しました(わかりやすさを重視するとちょっと長いのもしょうがないかな?と思いました)。

end

def a_week_after_last_answer?
answers.last.updated_at.since(1.week) == Date.current.to_time

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated_at の場合は、タイポなど何らかの理由でコメントを後から編集した場合、1週間のカウントの起点が後ろ倒しにならないかな?と気になりました。カウントの起点がユーザーの操作によって変動しないように、created_atにした方がいいのかな〜?と思ったのですが、いかがでしょうか…?🍵

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確かにタイポの修正程度でカウント処理を後ろ倒しにするのは良くないですね💡なのでこちらをcreated_at基準でカウントするように修正しました。

方針としては、last_answerメソッドを追加して最後の回答オブジェクトを取得し、そのcreated_atを計算の起点に使うようにしました。メソッドを追加した理由はupdated_atcreated_atに変更するだけだと「正確な最後の回答」が取得できないためです。


# required params: question, receiver
def a_week_after_last_answer
@user = @receiver

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

他のメソッドではどれも@user = @receiverとされてはいるんですが、@userへの代入はせず、直接@receiverを参照するようにした方がコードが読みやすくなりそうだなぁ〜と思いました🙌

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この@userはメールのビューで使うため代入しています👍
自分も最初@receiverでいいかな?と思ったのですが、こちらを代入せずに書くとメールが送信されなくなるのでこのままにしています💡

app/views/notification_mailer/a_week_after_last_answer.html.slim

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この@userはメールのビューで使うため代入しています👍

そうだったのですね〜!影響範囲を調査しきれていませんでした…教えていただきありがとうございます✨

Comment on lines 130 to 137

question15:
title: 最後の回答から1週間経過した時に質問者に通知するテスト用
description: 最後の回答から1週間経過した時に質問者に通知するテスト用
user: kimura
created_at: <%= Date.current.to_time - 1.week %>
published_at: <%= Date.current.to_time - 1.week %>
updated_at: <%= Date.current.to_time - 1.week %>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

既に未解決の質問のフィクスチャが用意されているので、新しいデータを投入せずに既にあるデータを活用してあげるのはいかがでしょうか…?
(Fixtureに書かれたデータはテスト実行前にすべてDBに投入されるようなので、システムテストを重くしないように…という観点から)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確かに他のPRでもそのようなことが書いてありましたね💡見逃していました😅こちらご提案頂いたように、テスト内でデータを作成するように修正いたしました。

Comment on lines 30 to 36

last_answer:
description: 最後の回答から1週間経過した時に質問者に通知するテスト用
user: machida
question: question15
created_at: <%= Date.current.to_time - 1.week %>
updated_at: <%= Date.current.to_time - 1.week %>

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こちらもシステムテストを重くしないように…という観点からテスト内でAnswer.create!などでデータを作成できないかなぁ…🤔と思ったりしました…🙏参考まで…!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こちらも提案頂いたように、テスト内でデータを作成するように修正いたしました👍

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from 2ffcd84 to 84ea321 Compare October 9, 2022 08:31
@keiz1213
Copy link
Contributor Author

keiz1213 commented Oct 9, 2022

@pachikuriii

とても丁寧なレビューありがとうございます!😄そして修正が遅くなってすみません🙏
ご提案頂いた内容を参考に修正してみましたので、お手すきの際にご確認お願いいたします😄
全然急いでないのでゆっくりで大丈夫です👍

end

def a_week_after_last_answer?
last_answer.created_at.since(1.week) == Date.current.to_time
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これは今日の0:00を返す処理ですが、意図した挙動でしょうか?

Date.current.to_time
#=> 2022-10-12 00:00:00 +0900

この意図が正しいなら、 Time#beginning_of_day の方が分かりやすいかなと思いました。

Time.current.beginning_of_day
#=> Wed, 12 Oct 2022 00:00:00.000000000 JST +09:00

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

コメントありがとうございます!🙌

これは今日の0:00を返す処理ですが、意図した挙動でしょうか?

この挙動は意図していなくて、0:00を返す処理ということを知らずに書いてました・・・。
そして再度手元で再現してみたのですが期待した結果にならないことがわかりました・・・。
テストが通っていたのは、テストデータの時刻が全て0:00で揃っていたので通ってたみたいで不備に気づけませんでした。本番環境ではこのように時刻が揃っていることはありえないので条件式をdateオブジェクトで比較するように変更しました。

Copy link

@pachikuriii pachikuriii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213
たいへんお返事がおそくなり申し訳ないです😭
修正いただきありがとうございます・・・!🌸3点コメントさせていただきました。


# required params: question, receiver
def a_week_after_last_answer
@user = @receiver

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この@userはメールのビューで使うため代入しています👍

そうだったのですね〜!影響範囲を調査しきれていませんでした…教えていただきありがとうございます✨

def last_answer
answers.max_by(&:created_at)
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

このQuestionのクラス中でしか使われないメソッドであれば、privateメソッドにした方が役割がはっきりするのかな?と思いました。いかがでしょうか…?🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

今回追加したメソッドはオブジェクトを返すためだけのものなのでprivateにする必要が無いかなと個人的に思いました💡

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213

判断として間違ってないと思いますが、下記の文章だと意味が違っちゃうかも?

今回追加したメソッドはオブジェクトを返すためだけのものなのでprivateにする必要が無いかなと個人的に思いました💡

last_answerがなぜpublicなのかというと
「他の用途でも便利に使えそうな汎用的なメソッドだから」
だと思います。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213 そして、publicなメソッドであればテストが必要になります〜

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@komagata

「他の用途でも便利に使えそうな汎用的なメソッドだから」

なるほどです。privateは安全性を高めるためにのみ必要だと思っていました。確かに外から呼び出せたら便利です。
そしてこちらのテストも追加いたしました。ご確認お願いいたします🙏

@@ -282,4 +282,30 @@ class Notification::QuestionsTest < ApplicationSystemTestCase
assert_text 'yameoさんが退会しました。'
assert_no_text 'kimuraさんから質問「タイトルtest」が投稿されました。'
end

test 'notify to questioner when a week has passed since last answer' do
Copy link

@pachikuriii pachikuriii Oct 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

私の手元だとこのテストが必ず落ちてしまいまいまして...ナカムラさんのお手元ではいかがでしょうか・・・?
エラーメッセージと、テストが失敗した時のスクリーンショットを参考までにはっておきます…🙏!

Error:
Notification::QuestionsTest#test_notify_to_questioner_when_a_week_has_passed_since_last_answer:
Capybara::ExpectationNotMet: expected to find css ".card-list-item.is-unread" at least 1 time but there were no matches
    test/system/notification/questions_test.rb:308:in `block in <class:QuestionsTest>'

image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどです〜。僕の環境ではテストは通りました💡
スクショを見た感じだと、Vueのコンポーネントが描画されてないようですね🤔通知自体は届いているようなのでwebpack関係とかですかね?僕はwebpack関係は苦手でまだよく理解してないのですが、bin/rails webpacker:cleanbin/rails webpacker:clobberとか試してもらってみてもよろしいでしょうか?もしくはnodeのバージョンが違ってたりとかですかね・・?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213
わたしがレビューする立場にもかかわらず、こうして見立てをくださりありがとうございます😭おっしゃるとおり、webpackerでコンパイルが上手くいっていなかったようでbin/rails webpacker:clobberとすることで正常にテストが通ることを確認しました。

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from 131e4e5 to 593ec4b Compare October 12, 2022 14:55
@keiz1213
Copy link
Contributor Author

@pachikuriii
確認ありがとうございます!

a_week_after_last_answer?メソッドを修正しました

@sinsoku さんからアドバイスいただきまして、a_week_after_last_answer?メソッドの不備に気づき、修正しました・・🙏
修正前の条件式だと、「時刻」を考慮しておらず実際の本番環境では期待した動きにならないことがわかりました。なので単純にdateオブジェクトとして比較するように書き直しました。今まで開発環境、テストで問題にならなかったのは、全てのテストデータの作成時刻が00:00で揃っていたためです。

この修正によって変更確認方法を修正しました。今まではコンソールで作成頂いていた質問・回答の作成時刻を
Date.current.agoで作成していたものをTime.current.agoで作成して確認するようにしました。こうすることで作成時刻が00:00とならず、その時の時刻で作成され動作確認が正しく行われます。

大変お手数おかけしますが、お時間があります時に再度確認お願いします🙏

@sinsoku

ご指摘いただいたことで不備に気づくことができました。ありがとうございます!

Copy link

@pachikuriii pachikuriii left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213
修正をありがとうございます。

ナカムラさんのPRは確認手順の書き方がとても丁寧で、今後真似していきたいです☺️
またa_week_after_last_answer?での条件式について、レビューの際に時刻へ意識が及んでおらず失礼しました🥲経過日時などがキーになる機能を実装する時に意識しておかなければいけないポイントについて、レビューさせていただいたことで学ばせていただきました👀

わたしからは、Approveとさせていただきます✨

@@ -282,4 +282,30 @@ class Notification::QuestionsTest < ApplicationSystemTestCase
assert_text 'yameoさんが退会しました。'
assert_no_text 'kimuraさんから質問「タイトルtest」が投稿されました。'
end

test 'notify to questioner when a week has passed since last answer' do

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213
わたしがレビューする立場にもかかわらず、こうして見立てをくださりありがとうございます😭おっしゃるとおり、webpackerでコンパイルが上手くいっていなかったようでbin/rails webpacker:clobberとすることで正常にテストが通ることを確認しました。

@keiz1213
Copy link
Contributor Author

@pachikuriii
確認ありがとうございます!とても丁寧にレビューいただき勉強になりました😄そして少しでもお役に立てたなら幸いです😄お互いアドバイスし合いながらチーム開発乗り切って行きましょう〜!

@komagata

こちらチームの方からapproveいただきましたのでご確認お願いいたします!

@@ -36,7 +36,8 @@ class Notification < ApplicationRecord
product_update: 17,
graduated: 18,
hibernated: 19,
signed_up: 20
signed_up: 20,
a_week_after_last_answer: 21
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

「1週間後」というのはこの通知の本質ではなく、
「ベストアンサーが選ばれていない」ことを通知するものなので、そういった意味の名前にしたいです。

1週間後は本質ではないので、2週間後に変更されるかもしれませんし、頻繁に変わりやすい内容になっています。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどです💡こちら修正いたしました。

その他、仕様変更に対応しやすいように

  • コード全体で「1週間後」という文言を使わず、「一定期間」という文言を使うようにしました
  • Answerに一定期間経過したかどうかを判定するメソッドを追加しました。

ご確認よろしくお願いいたします。

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from 54c6170 to 5b58ad7 Compare October 18, 2022 09:44
@@ -36,7 +36,8 @@ class Notification < ApplicationRecord
product_update: 17,
graduated: 18,
hibernated: 19,
signed_up: 20
signed_up: 20,
not_yet_chosen_correct_answer: 21
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

極力簡潔な名前がいいのでno_corrent_answerとかはどうでしょうか?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほどです💡
難しく考えすぎていたかもしれません。確かにその名前が簡潔で良いと思いました。
提案いただいた内容で修正しました。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

すみません一応確認ですが、no_corrent_answer ではなくno_correct_answerが正しいですよね?その前提で修正しました。

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@keiz1213 すみません、タイプミスでした〜

@@ -25,4 +25,8 @@ def receiver
def path
Rails.application.routes.url_helpers.polymorphic_path(question, anchor: anchor)
end

def certain_period_has_passed?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

このメソッドのテストはありますか?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こちら新たにテストを作成致しました。ご確認お願いいたします。

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch 2 times, most recently from b54ccde to 74881bb Compare October 31, 2022 11:57
Comment on lines 80 to 81
tagsParamName='question[tag_list]',
tagsType='Question',
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

今回のissueとは関係がありませんが、mainをリベースした後にlinterでテストが落ちるようになったので修正しました。

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conflictの修正をお願いします〜

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from f8e9b5b to 7e9071f Compare November 9, 2022 14:13
@keiz1213
Copy link
Contributor Author

keiz1213 commented Nov 9, 2022

@komagata
コンフリクトの修正完了しました。mainにおいてdaily_controllerに変更が加えられていたためその変更と統一性を持たせるため1点変更を加えました。

以前までは通知処理をQuestionのクラスメソッドで定義しそれをdaily_contorollerで呼び出す形でしたが、今回の変更に伴いそのクラスメソッドを削除し、daily_contoroller内のプライベートメソッドで定義して呼び出すように変更しました。

度々申し訳ありませんがご確認お願いいたします。

@komagata
Copy link
Member

@keiz1213

以前までは通知処理をQuestionのクラスメソッドで定義しそれをdaily_contorollerで呼び出す形でしたが、今回の変更に伴いそのクラスメソッドを削除し、daily_contoroller内のプライベートメソッドで定義して呼び出すように変更しました。

おっと、controllerのprivateメソッドで処理するのはとりあえずな感じのやり方で、モデルクラスのメソッドにする方が望ましい感じです〜(Fat Controller)

@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from 7e9071f to dde1a9d Compare November 11, 2022 07:49
1. 通知処理の名前変更
2. Answerクラスに一定期間経過したかどうかを判定するメソッドを追加
3. a_week_after_last_answerメソッド削除
@keiz1213 keiz1213 force-pushed the feature/notify-after-one-week-from-last-answer branch from ca3a051 to 394a569 Compare November 19, 2022 05:52
@keiz1213
Copy link
Contributor Author

@komagata

時間関連のテストは実行日時やタイミングによってFlakyなテストになりやすいので、travel_toなどを使って時間を固定してやるのがいいと思います〜

なるほど、勉強になります。
ご指摘いただいた点を参考に修正致しました。ご確認お願いいたします。

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させて頂きました。OKです〜🙆‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants