-
Notifications
You must be signed in to change notification settings - Fork 72
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
「読みました」のチェックボックスを埋めたら「休会する」ボタンを押せるようにした #5461
Conversation
ae1cc3c
to
1fecb18
Compare
6a078b6
to
eb48cfa
Compare
1fecb18
to
58ecf89
Compare
58ecf89
to
9b733ec
Compare
4b2e1c3
to
4761d12
Compare
d0ab4d5
to
8e80a98
Compare
リポジトリの更新をしたので、
をお願いしますー |
@machida (mainブランチ)
> git pull origin main
> bin/setup をやってから、feature/comebackブランチで (feature/comebackブランチ)
> git pull --rebase origin main をやった後に 最初、このようにコンフリクトが発生してしまい、 (feature/comeback_checkブランチ)
> git pull --rebase origin main
From github.com:fjordllc/bootcamp
* branch main -> FETCH_HEAD
Auto-merging app/models/user.rb
CONFLICT (content): Merge conflict in app/models/user.rb
Auto-merging db/schema.rb
error: could not apply 2fce9afd3... 休会からの復帰機能を追加
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
Could not apply 2fce9afd3... 休会からの復帰機能を追加 git reflogとgit reset --hard で下記のように対処しました。 (!HEAD)
> git reflog
848c3d85a (HEAD, origin/main, origin/HEAD, main) HEAD@{0}: pull --rebase origin main (start): checkout 848c3d85a5acba93571d53f0e1e8f69a78f37587
d0ab4d5e0 (origin/feature/comeback_check, feature/comeback_check) HEAD@{1}: checkout: moving from main to feature/comeback_check
848c3d85a (HEAD, origin/main, origin/HEAD, main) HEAD@{2}: pull origin main: Fast-forward
7b5a8a06a HEAD@{3}: checkout: moving from feature/comeback_check to main
d0ab4d5e0 (origin/feature/comeback_check, feature/comeback_check) HEAD@{4}: commit: 空白行を削除
9b733ec10 HEAD@{5}: pull --rebase origin main (finish): returning to refs/heads/feature/comeback_check
9b733ec10 HEAD@{6}: pull --rebase origin main (pick): 休会フォームの注意を「読みました」のチェックボックスとボタンが連動するようにした
ec1ae9e65 HEAD@{7}: pull --rebase origin main (pick): 休会チェックボックスのデザイン
9d484864e HEAD@{8}: pull --rebase origin main (pick): lint修正
bb15cb627 HEAD@{9}: pull --rebase origin main (pick): システムテストの不要なスペースの削除とaccept_confirmの使用
8f67855b8 HEAD@{10}: pull --rebase origin main (pick): discord通知のテストを追加
dab433d40 HEAD@{11}: pull --rebase origin main (pick): activity_notifierの非同期通知のテストを修正
5152fe1cd HEAD@{12}: pull --rebase origin main (pick): DiscordNotifierをNotificationFacadeのhibernatedから分離
ad30f0d1f HEAD@{13}: pull --rebase origin main (pick): 研修生とアドバイザーのテストシナリオを追加
082af13be HEAD@{14}: pull --rebase origin main (pick): テスト修正
875ce13fc HEAD@{15}: pull --rebase origin main (pick): テスト追加
1330b5bb1 HEAD@{16}: pull --rebase origin main (pick): ユーザーが休会した時にメンターと管理者にサイト内通知とメール通知が行くようにした
2f29308e9 HEAD@{17}: pull --rebase origin main (pick): エラーメッセージの文言が変わっていたのを修正
31779cc90 HEAD@{18}: pull --rebase origin main (pick): 休会に分報チャンネルの注意書きを追加
6c7e65ef2 HEAD@{19}: pull --rebase origin main (pick): 二回サブミットするとエラーが出る問題を修正
060753b20 HEAD@{20}: pull --rebase origin main (pick): :cop:
de40dc704 HEAD@{21}: pull --rebase origin main (pick): ユーザー個別ページの休会情報のデザイン調整
97f602404 HEAD@{22}: pull --rebase origin main (pick): 休会からの復帰のリンクをトップページに配置、復帰関係の全体的な文言とデザインの微調整 ↓誤ってブランチに切り替える時に使ったコマンドをresetしてしまいました (!HEAD)
> git reset --hard HEAD@{1}
HEAD is now at d0ab4d5e0 空白行を削除
(HEAD)
> git reflog
d0ab4d5e0 (HEAD, origin/feature/comeback_check, feature/comeback_check) HEAD@{0}: reset: moving to HEAD@{1}
848c3d85a (origin/main, origin/HEAD, main) HEAD@{1}: pull --rebase origin main (start): checkout 848c3d85a5acba93571d53f0e1e8f69a78f37587
d0ab4d5e0 (HEAD, origin/feature/comeback_check, feature/comeback_check) HEAD@{2}: checkout: moving from main to feature/comeback_check
848c3d85a (origin/main, origin/HEAD, main) HEAD@{3}: pull origin main: Fast-forward
7b5a8a06a HEAD@{4}: checkout: moving from feature/comeback_check to main
d0ab4d5e0 (HEAD, origin/feature/comeback_check, feature/comeback_check) HEAD@{5}: commit: 空白行を削除
9b733ec10 HEAD@{6}: pull --rebase origin main (finish): returning to refs/heads/feature/comeback_check
9b733ec10 HEAD@{7}: pull --rebase origin main (pick): 休会フォームの注意を「読みました」のチェックボックスとボタンが連動するようにした
ec1ae9e65 HEAD@{8}: pull --rebase origin main (pick): 休会チェックボックスのデザイン
9d484864e HEAD@{9}: pull --rebase origin main (pick): lint修正
bb15cb627 HEAD@{10}: pull --rebase origin main (pick): システムテストの不要なスペースの削除とaccept_confirmの使用
8f67855b8 HEAD@{11}: pull --rebase origin main (pick): discord通知のテストを追加
dab433d40 HEAD@{12}: pull --rebase origin main (pick): activity_notifierの非同期通知のテストを修正
5152fe1cd HEAD@{13}: pull --rebase origin main (pick): DiscordNotifierをNotificationFacadeのhibernatedから分離
ad30f0d1f HEAD@{14}: pull --rebase origin main (pick): 研修生とアドバイザーのテストシナリオを追加
082af13be HEAD@{15}: pull --rebase origin main (pick): テスト修正
875ce13fc HEAD@{16}: pull --rebase origin main (pick): テスト追加
1330b5bb1 HEAD@{17}: pull --rebase origin main (pick): ユーザーが休会した時にメンターと管理者にサイト内通知とメール通知が行くようにした
2f29308e9 HEAD@{18}: pull --rebase origin main (pick): エラーメッセージの文言が変わっていたのを修正
31779cc90 HEAD@{19}: pull --rebase origin main (pick): 休会に分報チャンネルの注意書きを追加
6c7e65ef2 HEAD@{20}: pull --rebase origin main (pick): 二回サブミットするとエラーが出る問題を修正
060753b20 HEAD@{21}: pull --rebase origin main (pick): :cop:
de40dc704 HEAD@{22}: pull --rebase origin main (pick): ユーザー個別ページの休会情報のデザイン調整 ↓ブランチを切り替えるコマンドをresetしたことに気づかず、ここで、HEAD@{1}: pull --rebase origin mainをresetしました (HEAD)
> git reset --hard HEAD@{1}
HEAD is now at 848c3d85a Merge pull request #5479 from fjordllc/feature/adjust-user-practice-progress-to-vue-mounter ↓git pull --rebase origin feature/comebackを実行 (HEAD)
> git pull --rebase origin feature/comeback
remote: Enumerating objects: 243, done.
remote: Counting objects: 100% (243/243), done.
remote: Compressing objects: 100% (68/68), done.
remote: Total 178 (delta 140), reused 140 (delta 106), pack-reused 0
Receiving objects: 100% (178/178), 24.28 KiB | 195.00 KiB/s, done.
Resolving deltas: 100% (140/140), completed with 59 local objects.
From github.com:fjordllc/bootcamp
* branch feature/comeback -> FETCH_HEAD
+ 4b2e1c3bd...4761d1230 feature/comeback -> origin/feature/comeback (forced update)
Updating 848c3d85a..4761d1230
Fast-forward
app/assets/stylesheets/application/blocks/auth-form/_auth-form.sass | 12 +++++++----
app/assets/stylesheets/application/blocks/form/_form-item.sass | 3 +--
app/assets/stylesheets/application/blocks/form/_form-link-block.sass | 4 ++++
app/assets/stylesheets/application/blocks/form/_form-notice.sass | 7 ++++---
app/assets/stylesheets/application/blocks/user/_user-metas.sass | 12 ++++++++++-
app/assets/stylesheets/atoms/_a-short-text.sass | 2 ++
app/controllers/comeback_controller.rb | 25 +++++++++++++++++++++++
app/controllers/hibernation_controller.rb | 12 +++++++++--
app/controllers/user_sessions_controller.rb | 16 ++++++++-------
app/models/notification_facade.rb | 1 -
app/models/subscription.rb | 4 ++--
app/models/user.rb | 22 +++++++++++++++++++++
app/views/application/_flash.html.slim | 2 +-
app/views/application/_user_menu.html.slim | 16 +++++++++++----
app/views/application/header/_header_links.html.slim | 23 +++++++++++----------
app/views/comeback/_forget_password_form.html.slim | 9 +++++++++
app/views/comeback/_forgot_password_modal.slim | 9 +++++++++
app/views/comeback/_form.html.slim | 16 +++++++++++++++
app/views/comeback/new.html.slim | 30 ++++++++++++++++++++++++++++
app/views/hibernation/_message.html.slim | 30 ++++++++++++++++++++++++++++
app/views/hibernation/new.html.slim | 67 +++++++++++++++++++++++++++++++-------------------------------
app/views/hibernation/show.html.slim | 2 +-
app/views/retirement/new.html.slim | 16 ---------------
app/views/static_pages/retire.html.slim | 15 --------------
app/views/user_sessions/new.html.slim | 2 +-
app/views/users/_hibernation_info.html.slim | 22 ++++++++++-----------
app/views/users/_user_secret_attributes.html.slim | 4 +++-
app/views/users/form/_sns.html.slim | 8 ++++----
app/views/welcome/_welcome_footer.html.slim | 3 +++
app/views/welcome/_welcome_header.html.slim | 4 ++--
config/locales/ja.yml | 2 +-
config/routes.rb | 2 +-
db/fixtures/users.yml | 6 ++++--
db/schema.rb | 53 +++++++++++++++++++++++++++----------------------
test/fixtures/hibernations.yml | 5 +++++
test/fixtures/talks.yml | 4 ++++
test/fixtures/users.yml | 4 ++--
test/mailers/notification_mailer_test.rb | 28 ++++++++++++++++++++++++++
test/notifiers/activity_notifier_test.rb | 12 +++++++++++
test/notifiers/discord_notifier_test.rb | 25 +++++++++++++++++++++++
test/supports/vcr_helper.rb | 2 +-
test/system/comeback_test.rb | 38 +++++++++++++++++++++++++++++++++++
test/system/current_user_test.rb | 2 +-
test/system/hibernation_test.rb | 19 ++++++++++++++----
test/system/notification/hibernation_test.rb | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
test/system/retirement_test.rb | 12 ++++-------
test/system/sign_in_test.rb | 23 +++++++++++----------
test/system/sign_up_test.rb | 14 +++----------
48 files changed, 539 insertions(+), 190 deletions(-)
create mode 100644 app/assets/stylesheets/application/blocks/form/_form-link-block.sass
create mode 100644 app/controllers/comeback_controller.rb
create mode 100644 app/views/comeback/_forget_password_form.html.slim
create mode 100644 app/views/comeback/_forgot_password_modal.slim
create mode 100644 app/views/comeback/_form.html.slim
create mode 100644 app/views/comeback/new.html.slim
create mode 100644 app/views/hibernation/_message.html.slim
delete mode 100644 app/views/static_pages/retire.html.slim
create mode 100644 test/fixtures/hibernations.yml
create mode 100644 test/system/comeback_test.rb
create mode 100644 test/system/notification/hibernation_test.rb ここで、↓どこのブランチにも乗っていないことに気づきます(ずっと「HEAD」と表示されていた意味に気づく) (HEAD)
> git branch
* (no branch, rebasing feature/comeback_check)
feature/change_title_tag_in_practice_page
feature/change_title_tag_in_user_list_by_company
feature/comeback_check
feature/move-narrow-down-parts
feature/replace-q-and-a-notification-to-watching-user-with-newspaper
feature/user_sns-and-user_tags-for-vue-mounter
main feature/comeback_checkに切り替えてgit logを見てみたところ、一直線になっていて大丈夫そうなのですが... (HEAD)
> git checkout feature/comeback_check
Previous HEAD position was 4761d1230 lint修正
Switched to branch 'feature/comeback_check'
Your branch is up to date with 'origin/feature/comeback_check'.
(feature/comeback_check)
> git log --graph
* commit d0ab4d5e007c65b4fc3fcf0b157e9f6be7f149b9 (HEAD -> feature/comeback_check, origin/feature/comeback_check)
| Author: TakashimaAyaka <takashimaayaka@MacBook-Pro.local>
| Date: Tue Sep 20 23:31:35 2022 +0900
|
| 空白行を削除
|
* commit 9b733ec1037991216530869913704011adc8de03
| Author: TakashimaAyaka <takashimaayaka@MacBook-Pro.local>
| Date: Tue Sep 20 23:08:51 2022 +0900
|
| 休会フォームの注意を「読みました」のチェックボックスとボタンが連動するようにした
|
* commit ec1ae9e65ee437084ffdbd5ab0024598c02ee81d
| Author: teppei machida <machida@fjord.jp>
| Date: Wed Aug 31 14:01:37 2022 +0900
|
| 休会チェックボックスのデザイン
|
* commit 9d484864e9eacb158553bd20b2e3f295693104c0
| Author: keiz1213 <fukuoka00tsc@gmail.com>
| Date: Tue Sep 13 21:49:17 2022 +0900
|
| lint修正
よろしくお願いいたします🙇♀️ |
a5e45eb
to
b51de83
Compare
@machida
|
@AyakaTakashima はい!description は上書きをしてレビュー依頼をお願いしますー🙏 |
@machida |
@machida ご確認よろしくお願いいたします🙇♀️ |
Issueの登録をお願いしますー。このPRでは解決させなくて大丈夫です。 もしかしたら、最新のmainで解決されてるかもしれないので、念のため、 git pull --rebase origin main をやってみてくださいー。 |
@machida > git pull --rebase origin main
From github.com:fjordllc/bootcamp
* branch main -> FETCH_HEAD
warning: skipped previously applied commit 81a865e33
warning: skipped previously applied commit bcd62d2a4
warning: skipped previously applied commit 9b3a06817
warning: skipped previously applied commit c570ec128
warning: skipped previously applied commit b3b23f2de
warning: skipped previously applied commit 68e88142b
warning: skipped previously applied commit c68dd882f
warning: skipped previously applied commit d97e610c7
warning: skipped previously applied commit 6193d5b44
hint: use --reapply-cherry-picks to include skipped commits
hint: Disable this message with "git config advice.skippedCherryPicks false"
Successfully rebased and updated refs/heads/feature/comeback_check. これらは、メッセージに出ている通り |
4761d12
to
ee593fe
Compare
b51de83
to
8b73423
Compare
ブランチの派生元の feature/comeback #5369 を最新の main から rebase して最新の状態にし、こちらの PR を最新の状態にした feature/comeback からrebase しました。 なので、手元の feature/comeback_check ブランチで、
をお願いします。 それをした上で、kimuraさんを休会させようとするとエラーが出るか再度確認してみてください。 |
今落ちてるテストは、 |
ee593fe
to
0ea0470
Compare
@siroemk descriptionに注意点を記載させていただきましたのでご確認いただけますと嬉しいです! |
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.
@AyakaTakashima
お疲れ様です〜!お待たせしました。
注意点なども細かく書いていただき、ありがとうございました✨
動作もコードも確認いたしました。LGTMです🙆♀️
@siroemk |
@komagata |
@@ -21,17 +21,6 @@ header.page-header | |||
html: { name: 'hibernation' }, | |||
class: 'form' do |f| | |||
.form__items | |||
// |
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/system/hibernation_test.rb
Outdated
@@ -19,6 +19,7 @@ class HibernationTest < ApplicationSystemTestCase | |||
end | |||
|
|||
VCR.use_cassette 'subscription/update', vcr_options do | |||
find('.is-checkbox').click |
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.
こちらcapybaraのcheckboxをチェックするためのメソッドは使えなかったでしょうか。
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.
@komagata
ご確認ありがとうございます!
capybaraのcheckboxをチェックするためのメソッドというものがあるのですね🙇♀️
調べて修正してみましたのでご確認よろしくお願いいたします!
@komagata 昨日 > rails test test:test/system/notification/hibernation_test.rb
Run options: --seed 64430
# Running:
................................................................................................................................................................................................................................................................................................................
[Minitest::CI] Generating test report in JUnit XML format...
Finished in 5.357628s, 56.7415 runs/s, 191.6893 assertions/s.
304 runs, 1027 assertions, 0 failures, 0 errors, 0 skips 本日実行してみると、下記の通り通らなくなっていました。 > rails test test/system/notification/hibernation_test.rb
Run options: --seed 56247
# Running:
[Screenshot Image]: /Users/takashimaayaka/fjord/bootcamp/tmp/screenshots/failures_test_notify_admins_and_mentors_when_a_adviser_hibernate.png
[Screenshot Image]: /Users/takashimaayaka/fjord/bootcamp/tmp/screenshots/failures_test_notify_admins_and_mentors_when_a_student_hibernate.png
[Screenshot Image]: /Users/takashimaayaka/fjord/bootcamp/tmp/screenshots/failures_test_notify_admins_and_mentors_when_a_trainee_hibernate.png
E
Error:
Notification::HibernationTest#test_notify_admins_and_mentors_when_a_student_hibernate:
Capybara::ElementNotFound: Unable to find checkbox "is-checkbox" that is not disabled
test/system/notification/hibernation_test.rb:25:in `block in <class:HibernationTest>'
rails test test/system/notification/hibernation_test.rb:15
E
Error:
Notification::HibernationTest#test_notify_admins_and_mentors_when_a_trainee_hibernate:
Capybara::ElementNotFound: Unable to find checkbox "is-checkbox" that is not disabled
test/system/notification/hibernation_test.rb:48:in `block in <class:HibernationTest>'
rails test test/system/notification/hibernation_test.rb:38
E
Error:
Notification::HibernationTest#test_notify_admins_and_mentors_when_a_adviser_hibernate:
Capybara::ElementNotFound: Unable to find checkbox "is-checkbox" that is not disabled
test/system/notification/hibernation_test.rb:71:in `block in <class:HibernationTest>'
rails test test/system/notification/hibernation_test.rb:61
[Minitest::CI] Generating test report in JUnit XML format...
Finished in 39.431549s, 0.0761 runs/s, 0.0761 assertions/s.
3 runs, 3 assertions, 0 failures, 3 errors, 0 skips 試しに、 > rails test test:test/system/notification/hibernation_test.rb
Run options: --seed 59262
# Running:
................................................................................................................................................................................................................................................................................................................
[Minitest::CI] Generating test report in JUnit XML format...
Finished in 5.330115s, 57.0344 runs/s, 192.6788 assertions/s.
304 runs, 1027 assertions, 0 failures, 0 errors, 0 skips したがって、 |
@komagata capybaraのチェックボックスのメソッドについて調べてみると、 #app/views/hibernation/new.html.slim
.form-item
label.a-form-label.is-required
| 休会についての注意を読みましたか?
.block-checks.is-1-item.is-centered
.block-checks__item
.a-block-check.is-checkbox#abcd <!--ここに試しにidをつけた-->
input.a-toggle-checkbox.js-hibernation-agreements-checkbox#aaa(type='checkbox')
label.a-block-check__label(for='aaa')
| 読みました 下記のように書き換えました↓ #test/system/hibernation_test.rb
check 'abcd' しかし、テストはパスしませんでした.... check '読みました' としてみましたがダメでした。 |
なぜ |
@komagata |
@komagata capybaraでは、idかname(class名のこと?)かlabelで指定できると書いてありました。 よって、チェックボックスと紐づいている、画面上に出ているチェックボックスとは別の要素をクリックしにいく必要があるのではという結論に至りました。 |
@AyakaTakashima なるほどです。find('.is-checkbox').clickで大丈夫です〜 |
app/views/hibernation/new.html.slim
Outdated
input.a-toggle-checkbox.js-hibernation-agreements-checkbox#aaa(type='checkbox') | ||
label.a-block-check__label(for='aaa') |
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.
aaa
の部分を意味にある名前にした方がいいかもです〜。
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.
@komagata
こちら変更いたしました!
ご確認よろしくお願いいたします🙇♀️
@@ -22,6 +22,7 @@ class Notification::HibernationTest < ApplicationSystemTestCase | |||
visit_with_auth new_hibernation_path, 'kimura' | |||
fill_in 'hibernation[scheduled_return_on]', with: Time.current.next_month | |||
fill_in 'hibernation[reason]', with: 'テストのため' | |||
find('.is-checkbox').click |
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.
このページにcheckboxが増えたらテストが落ちる感じのセンシティブなテストになっているので、もう少し絞り込んだ条件が良さそうです。
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.
@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です〜🙆♂️
@komagata もしすでに実装されているのであればリリースノートに書くべきかと思うのですが、 |
@AyakaTakashima 直接URLにアクセスすれば使えますが、表向きにはまだ休会機能はリリースされていないです〜。 |
@komagata |
Issue
概要
休会フォームに休会についての注意を「読みました」のチェックボックスを追加しました。
変更確認方法
feature/comeback_check
をローカルに取り込むrails s
でローカル環境を立ち上げるhttp://localhost:3000/hibernation/new
にアクセス(マシンによるかもしれませんが、私のmacの場合はescキー押下で要素選択モードが解除できるようになりました)
a-button is-md is-block js-hibernation-agreements-submit is-disabled
となっていることを確認する。a-button is-md is-block js-hibernation-agreements-submit is-danger
となっていることを確認する。変更前
変更後
チェックボックス「読みました」のチェックボックスを追加。
チェックが入っていない時
チェックが入っている時
注意点
本PRでmachidaさんと話しているのですが、「読みました」のチェックボックスを押し、「休会する」を押すと下記画像のようにエラーが発生してしまいます。
こちらは把握済みでして、別issueで対応することとなりましたのでご放念いただければと思います。