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

入会30日経過した受講生の相談部屋にメッセージを送信する #5959

Merged
merged 36 commits into from
Apr 13, 2023

Conversation

ksmxxxxxx
Copy link
Contributor

@ksmxxxxxx ksmxxxxxx commented Dec 22, 2022

Issue

概要

  • 入会から30日後経過した受講生(:sutudents)にkomagataさんからコメントが届く仕組みを実装
    • /scheduler/daily_controller肥大化の観点から、 /scheduler/send_message_controllerを生やしました
    • コメント送信する対象の受講者の条件は以下のとおり
      • 入会から30日以上が経過している
      • sent_message_after_thrity_daysfalseになっている

変更確認方法

  1. feature/send-message-to-students-after-30-daysをローカルに取り込む
  2. bin/rails db:migrateを実行
  3. (念の為)bin/rails db:resetしてDB初期化と、seedデータを取り込む
  4. bin/rake data:migrate:up VERSION=20230114032018を実行(既存ユーザーのsent_message_after_thirty_daystrueにする処理)
  5. bin/rails sでサーバー起動
  6. komagtaでログイン
  7. 入会30日目のユーザー(thirty)、入会31日以前のユーザー(fourty)、入会30日未満のユーザー(otameshi)の相談部屋にメッセージがないことを確認する
  8. /localhost:3000/scheduler/daily/send_messageにアクセスする(画面は真っ白です)
  9. 入会30日目のユーザー(thirty)の相談部屋に、komagataからメッセージがきていることを確認する
  10. 入会31日以前のユーザー(fourty)、入会30日未満のユーザー(otameshi)の相談部屋にはメッセージがきていないことを確認する

メッセージ

こんにちは、komagataです。\nご登録から30日ほど経ちますが、学習について困っていることや詰まっている部分などありますでしょうか?\nもしあればお気軽におっしゃっていただければと思います。

Screenshot

image

@ksmxxxxxx ksmxxxxxx force-pushed the feature/send-message-to-students-after-30-days branch from 0d682e2 to 275e6f0 Compare December 24, 2022 02:30
@ksmxxxxxx ksmxxxxxx marked this pull request as ready for review December 24, 2022 02:49
@ksmxxxxxx ksmxxxxxx requested a review from peno022 December 24, 2022 02:49
@ksmxxxxxx
Copy link
Contributor Author

@peno022 お疲れさまです〜。
こちらのPullreqのレビューをお願いしたいです!
よろしくおねがいします!

Copy link
Contributor

@peno022 peno022 left a comment

Choose a reason for hiding this comment

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

@ksmxxxxxx
レビュー依頼いただきありがとうございます!
動作確認問題なかったです🙋‍♀️

修正内容について1箇所コメントしておりますので、要件ご確認いただけますと幸いです!🙏

/scheduler/daily_controller肥大化の観点から、 /scheduler/send_message_controllerを生やしました

controllerの分け方がこれで問題ないかについては、#5932 のissueで確認中かなと思いますので、私のほうでは問題なしです〜


動作確認方法についてですが、説明欄に記載の下記手順(手順4以降)だと、send_messageの処理によってメッセージが送信されたのかどうか確認しづらいかも・・(コメント時刻から確認することはできると思うのですが)と思ったので、

/localhost:3000/scheduler/send_message/にアクセスする(画面は真っ白です)
komagtaでログイン
管理ページから「現役生」タグを選択。**入会 三十郎(thirty)**を探して詳細ページ→相談部屋へ移動
komagataからメッセージがきていることを確認

こちらの手順で確認しました。もし必要であれば説明欄の動作確認手順を適宜修正いただいてもいいかもです🙏

  1. komagtaでログイン
  2. 入会30日目のユーザー(thirty)、入会31日以降のユーザー(hatsuno)、入会30日未満のユーザー(otameshi)の相談部屋にメッセージがないことを確認する
  3. /localhost:3000/scheduler/send_message/にアクセスする(画面は真っ白です)
  4. 入会30日目のユーザー(thirty)の相談部屋に、komagataからメッセージがきていることを確認する
  5. 入会31日以降のユーザー(hatsuno)、入会30日未満のユーザー(otameshi)の相談部屋にはメッセージがきていないことを確認する

app/controllers/scheduler/send_message_controller.rb Outdated Show resolved Hide resolved
@ksmxxxxxx
Copy link
Contributor Author

@peno022
手順について、コメントありがとうございます。
おっしゃるとおりだったので、descriptionを修正させていただきました。

@ksmxxxxxx ksmxxxxxx force-pushed the feature/send-message-to-students-after-30-days branch 3 times, most recently from e4bd411 to f51f929 Compare December 31, 2022 16:12
@ksmxxxxxx
Copy link
Contributor Author

@peno022 あけましておめでとうございます!
#5746 (comment) のコメントの内容に合わせて修正しました。
あわせてdescriptionも修正しております。
改めてになり恐縮ですが、再レビューをお願いしても良いでしょうか。
よろしくお願いいたします 🙏

@ksmxxxxxx
Copy link
Contributor Author

mainにマージされているPull reqがあったのでrebase ed.

@ksmxxxxxx ksmxxxxxx requested a review from peno022 January 5, 2023 09:19
Copy link
Contributor

@peno022 peno022 left a comment

Choose a reason for hiding this comment

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

@ksmxxxxxx
あけましておめでとうございます!今年もよろしくお願いします!🐇
年末年始寝込んだりしていて時間があいてしまいすみません🙏
ソースにコメントさせていただきましたので、ご確認お願いします!

それと、追加で1点質問です。
このままリリースすると、リリース後初回のメッセージ送信処理実行時に、その断面で入会30日以降のユーザー全員に一気にメッセージが飛ぶかも?と思ったのですが、そうはならないですかね‥?

app/models/user.rb Outdated Show resolved Hide resolved
db/schema.rb Outdated Show resolved Hide resolved
app/models/user.rb Outdated Show resolved Hide resolved
@ksmxxxxxx ksmxxxxxx force-pushed the feature/send-message-to-students-after-30-days branch 5 times, most recently from 3e4fdf6 to f450128 Compare January 14, 2023 11:44
@ksmxxxxxx
Copy link
Contributor Author

@peno022 だいぶお待たせしておりすみません〜 💦
コメント頂いた部分と、下記の質問部分について対応いたしました。

それと、追加で1点質問です。
このままリリースすると、リリース後初回のメッセージ送信処理実行時に、その断面で入会30日以降のユーザー全員に一気にメッセージが飛ぶかも?と思ったのですが、そうはならないですかね‥?

こちらに関してはチーム開発MTGでkomagataさんに伺った方法で対応する必要があるとのことなので、migrateファイルを追加しております。

参考 → DBのデータをmigrateする方法 · fjordllc/bootcamp Wiki

f450128

上記が追加になったので、descriptionの確認手順も追加しております。4以降アタリになりますので、合わせてご確認いただけると 🙏 💦

お手数おかけして恐縮ですが、再レビューお願いしていいでしょうか。
どうぞよろしくお願いいたします。

Copy link
Contributor

@peno022 peno022 left a comment

Choose a reason for hiding this comment

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

@ksmxxxxxx
ありがとうございます!確認させていただきました!
(修正箇所も幅広いしデータの更新の考慮もあるし難しい、、おつかれさまです〜〜)
記載いただいた手順で、メッセージ送信の確認ができました。

送信対象の指定と、命名についてコメントさせていただいたので、ご確認お願いします🙏
また、私がdata_migrate gemの理解が浅くて恐縮なんですが、一点質問もさせていただいております。🙇‍♀️

よろしくお願いします!

app/models/user.rb Outdated Show resolved Hide resolved
db/data_schema.rb Outdated Show resolved Hide resolved
@ksmxxxxxx
Copy link
Contributor Author

@peno022 お疲れさまです〜
超大作PR(複雑という意味で)になってて恐縮ですが再レビューをお願いしたいです。

コメントの指摘箇所の他に

  • save(validate: false)の部分が、よろしくなかったので update!に戻す変更
  • テスト用のデータがdata-migrateを実行したあとの状態と差分が出て、テストに引っかかってしまうので、調整しています
    などの変更を追加しております。

何度もお願いしてて恐縮なんですが、どうぞよろしくおねがいします 🙇‍♀️

Copy link
Contributor

@peno022 peno022 left a comment

Choose a reason for hiding this comment

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

@ksmxxxxxx
おつかれさまです!レビュー遅くなってしまいすみません😭
私の理解が浅い点あり、いくつか質問コメントさせていただきました・・ご確認お願いできますでしょうか🙇‍♀️

app/models/user.rb Outdated Show resolved Hide resolved
app/models/user.rb Outdated Show resolved Hide resolved
@ksmxxxxxx ksmxxxxxx force-pushed the feature/send-message-to-students-after-30-days branch from 8bb48df to 330012e Compare February 1, 2023 06:44
@ksmxxxxxx ksmxxxxxx force-pushed the feature/send-message-to-students-after-30-days branch from 894e2e5 to da75c09 Compare April 9, 2023 08:24
@@ -615,4 +615,92 @@ class UserTest < ActiveSupport::TestCase
assert_equal records.first.login_name, 'taikai3'
end
end

test 'after twenty nine days registration?' do
Copy link
Member

Choose a reason for hiding this comment

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

modelのテストは他のテストに合わせてテストのメソッド名に対してテストを書く感じでいいとおもいます〜。

test '#hibernated?' do

Copy link
Contributor Author

Choose a reason for hiding this comment

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

4845b57
こちらで修正しました。

@@ -615,4 +615,92 @@ class UserTest < ActiveSupport::TestCase
assert_equal records.first.login_name, 'taikai3'
end
end

test '#after_twenty_nine_days_registration?' do
over29days_registered_student = User.create!(
Copy link
Member

Choose a reason for hiding this comment

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

このテストでだけテストユーザーを追加するのいいですね!

@komagata komagata merged commit 1025b6e into main Apr 13, 2023
@komagata komagata deleted the feature/send-message-to-students-after-30-days branch April 13, 2023 16:01
@github-actions github-actions bot mentioned this pull request Apr 13, 2023
19 tasks
@komagata
Copy link
Member

@ksmxxxxxx レビュー後にすみません、リリース前にちょっと気になったのですが、これって入会後100日経ってるユーザーなど、既存のほとんどのユーザーにメッセージが行く感じですかね?

@ksmxxxxxx
Copy link
Contributor Author

@komagata 確認のコメントありがとうございます。
data_migrationで対応した記憶があるんですが、時間経過していてちょっと記憶が乏しいので確認する時間を頂いてもいいでしょうか?
軽く見た感じだと入会から31日後のユーザーさんにはメッセージ送信済みのフラグを付与するようにはなっていると思います。

@komagata
Copy link
Member

komagata commented Apr 21, 2023

@ksmxxxxxx

時間経過していてちょっと記憶が乏しいので確認する時間を頂いてもいいでしょうか?

かしこまりました〜!

@ksmxxxxxx
Copy link
Contributor Author

ksmxxxxxx commented Apr 22, 2023

@komagata
おまたせしました。

db/data/20230114032018_add_sent_student_followup_message_to_users.rb
こちらのdata_migrationで以下の条件でメッセージ送信済みフラグを付与するmigrationをするようになっています。

なので

入会後100日経ってるユーザーなど、既存のほとんどのユーザーにメッセージが行く感じですかね?

についての回答としては、 「migrationを実行すれば入会100日経過しているユーザーにはメッセージはいかない(はず)」 となります〜

@komagata
Copy link
Member

@ksmxxxxxx なるほどです、じゃあ大丈夫ですね!ありがとうございます〜!

@komagata
Copy link
Member

@ksmxxxxxx リリースのためにこちらのステージング環境での確認をお願いします〜

#6441

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.

ユーザー登録から数日後に相談部屋にメッセージを送りたい
3 participants