-
Notifications
You must be signed in to change notification settings - Fork 71
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
管理画面のお試し延長一覧にユーザー数を表示するようにした #6206
Conversation
ed6a9b4
to
fe4b0cc
Compare
@shizimi50 |
@lef237 |
@shizimi50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lef237
テストに関して少しだけ気になったのでコメントさせていただきました🙏
動きついては、問題なく動作しておりましたので、その点OKかと思います!
test/system/admin/campaigns_test.rb
Outdated
visit_with_auth admin_campaigns_path, 'komagata' | ||
assert_text '入会者' | ||
assert_text '現役生' | ||
assert_text '退会者' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
テキスト表示を確認するだけの場合は、システムテストを作成する必要はない気がしました🙌
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確かに必要ありませんでした👀 削除しました!
test/fixtures/campaigns.yml
Outdated
title: "お試し延長期間のテスト" | ||
created_at: Sat, 11 Feb 2023 12:02:58.965327000 JST +09:00 | ||
updated_at: Sat, 11 Feb 2023 12:02:58.965327000 JST +09:00 | ||
trial_period: 7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
こちらのテストデータですが、追加いただいたテストデータを使っている箇所がないように思ったので、追加する必要はないのかなと思ったのですがいかがでしょう。
また、もしテストデータを追加するようでしたら、
bootcamp/test/fixtures/campaigns.yml
Lines 9 to 13 in fe4b0cc
campaign2: | |
start_at: "2021-03-20 00:00:00" | |
end_at: "2021-03-31 23:59:00" | |
title: '二つ前に終了したキャンペーン' | |
trial_period: 5 |
他のテストデータと時間の形式を合わせるのが良いのかなと思いました!🙋
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
削除致しました!
また、db/fixtures/campaigns.yml
ファイルについても、他のテストデータと時間の形式を合わせるように修正致しました🕓
https://github.com/fjordllc/bootcamp/pull/6206/files#diff-529d6ca31b9f4c8ee8ee098bd691a049f27be697de976b56df27263e51b6166aR2-R3
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ご質問ありがとうございます。
結論から言うと、問題ないと思います!
Adminが管理しているFBC参加者の登録日時が全員09:00になっているように、fixtures内で00:00:00
を指定すると、9時間遅れた09:00:00
として表示されます。
自分も09:00:00
がスタートになっています。JavaScriptのカレンダーのプラクティスのときに、WSL2(Debian)の設定時刻を、標準時のロンドンに合わせていたので、それが理由かもしれません。
Bootcampのアプリ内で、config.time_zone = "Tokyo"
になっているので、この開始日と終了日で大丈夫だと思います🙆
(自分もそのように表示されています)
このような形で参加者の登録日時も全部09:00
になっていると思います。
そのため、テストデータのユーザーであるyameo
も、2014年01月01日(水) 09:00
が登録日時として表示されていると思います。
補足ですが、既にOutdatedになっているWed, 01 Jan 2014 00:00:00.000000000 JST +09:00
のような書き方をすると、強制的に画面表示をDescriptionのようにすることができますが、他のデータとの兼ね合いも考えると、2014-01-01 00:00:00
で書くのが良いと改めて思いました。
改めて結論を言うと、このままで大丈夫だと思います👌
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lef237
返信遅くなりすみません🙏
質問への回答ありがとうございます!
改めて、自分と同じ状況下で皆さん開発されていると理解できました😀
本件、動作には問題なかったのと、fixtureの件も修正いただきましたのでapproveさせていただきます!
データの日付については、退会した生徒がいる2014年を基準に考えた。開始日と終了日については、ローカル環境の画面上でお試し延長作成をしたあとに、rails cでCampaign.allをおこなってfixturesの書き方を確認した。
fe4b0cc
to
62f330d
Compare
@shizimi50 |
@shizimi50 |
@shizimi50 |
@komagata |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
確認させて頂きました。OKです〜🙆♂️
@@ -53,6 +59,14 @@ header.page-header | |||
| #{l campaign.start_at} | |||
td.admin-table__item-value.is-text-align-right | |||
| #{l campaign.end_at} | |||
td.admin-table__item-value.is-text-align-right | |||
= students_joined_by_campaign = User.students.where(created_at: campaign.start_at..campaign.end_at).count |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
メモ📝:ここのコードにミスがありました。
このモデルメソッドを使っており、「退会していない現役生」を取ってきているため、「退会していない現役生のうちキャンペーン中に入った人数」になってしまっています。
本来であれば、この63行目のコードは「キャンペーン中に入った全ての生徒数」になっていなければなりません。
そのため、次のコードは、
「退会していない現役生のうちキャンペーンに入った人数」から「キャンペーン中に参加した全ての生徒のうち退会した生徒」を引き算してしまっているため、マイナスの値が生じてしまっています。
この問題を解決するためには、
この3行をなくした形で、データ探索をする必要があります。
修正したPull Requestを、こちらで作成しました。
→ #6267
Issue
概要
管理画面のお試し延長一覧にユーザー数を表示するようにしました。
研修生を除いた生徒の中で、お試し延長期間のキャンペーン時に入った生徒の数を表示します。
左から、入会者、現役生、退会者に分かれています。
変更確認方法
feature/number-of-users-for-trial-campaign
をローカルに取り込むrails db:reset
をおこなうbin/setup
をおこなうrails s
して、komagata
さんでログインする。http://localhost:3000/admin/campaigns
へとアクセスする11
,10
,1
になっていることを確認するScreenshot
変更前
仮にお試し延長延長のキャンペーンを作成しても、以下のような画面になる。
変更後
このブランチにチェックアウトしてから動作確認すると、このような画面になる。