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

一度公開したお知らせを誰でも公開の状態で保存できるように変更 #4215

Merged
merged 4 commits into from
Feb 28, 2022

Conversation

aim2bpg
Copy link
Contributor

@aim2bpg aim2bpg commented Feb 13, 2022

Issue #4127

一度公開したお知らせをメンター・管理者以外が編集しても、公開の状態で保存できるように変更しました。
なお、本変更で条件分岐をきちんと作り込まないと、新たなバグを作り込むかもしれないため、デシジョンテーブルを作って条件を導出してみました。(テスト技法のプラクティスの提出物で学んだ内容を活かしました🙌)

変更理由

  • 現在、お知らせはメンター・管理者しか公開ができない。この仕様はこのままでいいが、一度公開したお知らせをメンター・管理者以外が編集した場合、WIPの状態で保存しなくてはならず、公開の状態で保存することができない。

  • (町田さんからの追加要求対応)
    公開されたお知らせの編集ボタンは、メンター・管理者以外には表示されないため、編集画面に入るためにURLを直打ちしていた。URLを直打ちする運用はよくないので、公開されたお知らせにも編集ボタンを表示するように変更したい。

  • (町田さんからの追加要求対応)
    公開されたお知らせに表示する編集ボタンはほとんどの人にとっては不要なリンクなので、目立たないデザインを入れたい。もし、従来の編集ボタンのままだったら、操作ミスが発生する可能性があるのと(お知らせには変更履歴の情報がないので戻せない)、逆になんでお知らせが自分も編集できるようになっていますがバグですか?という質問が殺到しそうなので、公開済みのお知らせのみ目立たないボタンに変更したい。

変更点

  1. (下表/パターン6)管理者・メンター以外が、詳細画面から編集画面に遷移できるように「内容修正ボタン」を表示。
  2. (下表/パターン6)公開されたお知らせの詳細画面の「内容修正ボタン」について、目立たないデザインに変更。
  3. (下表/パターン6)管理者・メンター以外が、公開されたお知らせを公開したままにできるように「公開ボタン」を表示。
  4. (下表/パターン6)「WIPボタン下部の公開までの手順表示」を非表示に変更。
  5. (下表/パターン2〜6)仕様を担保するための自動テストを追加。パターン1については既存のテストで網羅。

変更前(*が変更点)

パターン 1 2 3 4 5 6
条件 メンター・管理者がログイン Y N Y N Y N
メンター・管理者以外がログイン N Y N Y N Y
お知らせ作成・コピー ボタン押下 Y Y N N N N
未公開のお知らせの内容修正ボタン押下 N N Y Y N N
一度公開したお知らせの内容修正ボタン押下 N N N N Y N*
期待値 WIPボタン表示 X X X X X X
作成ボタン表示 X - - - - -
公開ボタン表示 - - X - X -*
WIPボタン下部の公開までの手順表示 - X - X - X*

変更後(*が変更点)

パターン 1 2 3 4 5 6
条件 メンター・管理者がログイン Y N Y N Y N
メンター・管理者以外がログイン N Y N Y N Y
お知らせ作成・コピー ボタン押下 Y Y N N N N
未公開のお知らせの内容修正ボタン押下 N N Y Y N N
一度公開したお知らせの内容修正ボタン押下 N N N N Y Y*
期待値 WIPボタン表示 X X X X X X
作成ボタン表示 X - - - - -
公開ボタン表示 - - X - X X*
WIPボタン下部の公開までの手順表示 - X - X - -*

目視確認

動作確認手順

  1. feature/change-anyone-can-republish-announcement ブランチをローカル環境で起動する。
  2. ユーザーログインする。(管理者・メンター:komagataさん、管理者・メンター以外:kimuraさん)
  3. 最左列の中からお知らせをクリックし、上の表のパターン1〜6を実行し、期待値と結果の一致を確認する。
  4. 一度公開したお知らせの「内容修正ボタン」が、未公開のものより目立たないデザインとなっていることを確認する。

パターン1〜6について、期待値と一致することを確認した。確認結果のエビデンスについては、パターン6を代表で示す。

パターン6 修正前

公開されたお知らせの詳細画面の「内容修正ボタン」が表示されない。
image

URLの末尾に/editを直打ちして編集画面に入ってみると「公開ボタン」も表示されない。WIPボタンは使えるので、WIPボタン下の公開までの手順は表示される。
image

パターン6 修正後

公開されたお知らせの詳細画面の「内容修正ボタン」が目立たないボタンで表示されている。
注:「内容修正ボタン」は別途、町田さんの方でデザインされるため、仮のボタンで表現。
image

同お知らせの編集画面の「公開ボタン」が表示される。また、公開済みのため、WIPボタン下の公開までの手順は表示しない。
image

自動テスト

announcements_test.rb ファイル単体でテストしてALL-Passを確認済み。
(期待値を反転させてのFail確認も済み)

~/work/bootcamp feature/change-anyone-can-republish-announcement* 16s
❯ rails test test/system/announcements_test.rb
Run options: --seed 41327

# Running:

......................

Finished in 13.860856s, 1.5872 runs/s, 3.1023 assertions/s.
22 runs, 43 assertions, 0 failures, 0 errors, 0 skips

@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 13, 2022

@machida さん
お知らせの編集ボタンの件で、デザイン依頼をさせていただきます🙏

ソースコード中のこちらにコメントを入れておきました。要デザイン(ここから)〜(ここまで)の範囲です。今は仮のボタンを割り当てています。PR記載の要件(条件・期待値をまとめた表)につきましても、認識違い等ありましたら、ご指摘ください。

また、初めての依頼となりますので、インプットに不足があるかもしれません。。
ご不明な点がありましたら、お申し付けください。

よろしくお願いいたします🙇🏻‍♂️

追記
CIのテストで落ちているのは、例のクリップボード内をテストするIssue #4201のみでしたので、問題なしと判断しています。

@machida
Copy link
Member

machida commented Feb 16, 2022

@aim2bpg
デザイン了解ですー
わかりやすい説明、仕様の追記ありがとうございます🙏

@machida machida force-pushed the feature/change-anyone-can-republish-announcement branch from f4dfc57 to db214ef Compare February 16, 2022 10:34
@machida
Copy link
Member

machida commented Feb 16, 2022

@aim2bpg テストが落ちる対応がmainに入ったので、最新のmainを取り込みました。

このブランチをいじる際は、

git pull --rebase origin feature/change-anyone-can-republish-announcement

をお願いしますー

@machida machida assigned aim2bpg and unassigned machida Feb 16, 2022
@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 16, 2022

@machida さん
デザインのご対応ありがとうございました。
公開されたお知らせに表示する編集ボタン(内容修正)が、削除ボタンと同様に目立たないデザインとなっていることを確認しました。

  • 管理者・メンター:komagataさん見えの画面
    「内容修正」と「削除する」の複数あった場合も重ならずに右寄せとなっていることを確認しました。
    image

  • 管理者・メンター以外:kimuraさん見えの画面
    「内容修正」が右寄せになっていることを確認しました。
    image

@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 16, 2022

@Saki-htr さん、おつかれさまです。
本PRのレビューをお願いしてもよろしいでしょうか〜

先日分報で、ド・モルガンの法則を学習されていたようなので、新たな学びが得られるかはわかりませんが、今回の条件分岐の作り込みもみていただければと思いました。

対応難しいようであれば、遠慮なく仰ってください。自分の方は特に急ぎませんので、後でやるでも全然OKですー

@aim2bpg aim2bpg requested a review from Saki-htr February 16, 2022 23:22
@aim2bpg aim2bpg marked this pull request as ready for review February 16, 2022 23:23
@Saki-htr
Copy link
Contributor

@aim2bpg さん
レビュー依頼嬉しいです!ありがとうございます😊
現在手持ちのレビューが2つ(2ptと3pt)あるため、レビューのお返事できるのが27日(日)頃になってしまいそうです🙇‍♀️💦
それでもよろしければ、ぜひやらせていただきたいです!

27日だとちょっと遅いな〜ということであれば、他の方にご依頼いただけましたらありがたいです。
せっかくご依頼くださったのに申し訳ないのですが、よろしくお願いいたします🙏

@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 17, 2022

@Saki-htr さん
一旦、27日頃で承知しました。お手すきの際で大丈夫です〜
もし、ご負担となるようでしたら輪読会のときにでも気軽にお声がけくださいー😄
立て込んでいるところに申し訳ありませんでした🙇🏻‍♂️

@machida machida force-pushed the feature/change-anyone-can-republish-announcement branch from 17dc344 to 71c6160 Compare February 19, 2022 12:51
@machida
Copy link
Member

machida commented Feb 19, 2022

コンフリクトが起きてたので、最新のmainからrebaseをしましたー

@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 19, 2022

@machida さん、ご対応ありがとうございますー🙏

@Saki-htr
Copy link
Contributor

@aim2bpg さん
お疲れ様です。
お約束していた本日までにレビューのお返事ができず、大変申し訳ありません🙏
明日明後日までにはレビューをお返しできるように尽力いたします🙇‍♀️
よろしくお願いいたします。

@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 27, 2022

@Saki-htr さん
はい、大丈夫です〜。こちらこそ、押し込んでしまい申し訳ありません🙏
お手すきの際にお願いいたします〜🙇🏻‍♂️

Copy link
Contributor

@Saki-htr Saki-htr left a comment

Choose a reason for hiding this comment

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

@aim2bpg さん
お疲れさまです!大変おまたせして申し訳ありません🙇‍♀️
動作確認したところ、OKでした🙆‍♀️ 私の方からはApproveとさせていただきます〜
一つ気になった所をコメントさせていただきましたが、今回のissueとは直接関係ない所ですので、もしご存知でしたらご回答いただけますと幸いです🙏

descriptionが非常に丁寧に書かれていて、とてもレビューしやすかったです! また、とても勉強になりました。
以下の点が素晴らしいと思いました👏✨

  • 変更理由を、machidaさんからの追加要求も含めて、丁寧に説明してくださっているので、このissueが必要になった背景を理解しやすい
  • デシジョンテーブルのおかげで、条件分岐のコードが要件を満たしているかを確認しやすい
  • このissueを実装することで、他の動作にバグを作るかもと考えて、表にまとめて確認されている

私も複雑な条件分岐を書く際は、コードを書き始める前に、デシジョンテーブルを書こうと思います!
ご依頼くださってありがとうございました☺️

@@ -39,19 +39,19 @@
ul.form-actions__items
li.form-actions__item.is-main
= f.submit 'WIP', class: 'a-button is-lg is-primary is-block', id: 'js-shortcut-wip'
- if admin_or_mentor_login?
- if admin_or_mentor_login? && announcement.new_record?
Copy link
Contributor

Choose a reason for hiding this comment

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

@aim2bpg
こちら、デシジョンテーブルのパターン1の要件を満たしていることを確認できました!
コードもネストが無くなり読みやすくなっていて、素晴らしいと思いました👏

今回のissueとは直接関係ないのですが「作成と公開の違い」が気になりました。
komagataさんでログインし、作成と公開の両方を行ってみましたが、どちらのボタンを押しても「公開」を行っているように見えました🤔

image

なぜ「メンターor管理者ログイン時 かつ お知らせ新規作成時 に作成ボタンが表示」されるのかが少し気になりました。
過去のissueを探しても分からなかったため、もしご存知でしたら教えていただけますと幸いです🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

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

こちら、たしかに自分も気になりました😅

  • 作成ボタン:新規作成→公開(管理者・メンターのみ)
  • 公開ボタン:WIP→公開(管理者・メンターのみ)、公開→(WIP)→公開(ユーザー不問)の2つを兼用

といった解釈ですね。。

Copy link
Contributor

Choose a reason for hiding this comment

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

@aim2bpg
なるほど、そのような使い分け方なら納得です〜
ありがとうございます☺️

end
assert has_button? '公開'
assert_no_text 'お知らせを作成しましたら、WIPで保存し、作成したお知らせのコメントから @mentor へ確認・公開の連絡をお願いします。'
end

Copy link
Contributor

Choose a reason for hiding this comment

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

デシジョンテーブルでどのようなテストケースが必要か明記してくださっているので、コードレビューがとてもしやすいです!
ありがとうございます🙏✨
6パターン全て確認したところ、OKでした🙆‍♀️
期待値を反転させて失敗したことも確認&記載してくださっていて素晴らしいと思います👏

@aim2bpg aim2bpg requested a review from komagata February 28, 2022 00:46
@aim2bpg
Copy link
Contributor Author

aim2bpg commented Feb 28, 2022

@Saki-htr さん、ご確認ありがとうございました🙇🏻‍♂️
大変丁寧にレビューいただき、且つ、ありがたいお言葉の数々、励みになります〜😭

@komagata さん、チームリーダーレビューをお願いいたします🙏

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ですー🙆‍♂️

@komagata komagata merged commit 989b14c into main Feb 28, 2022
@komagata komagata deleted the feature/change-anyone-can-republish-announcement branch February 28, 2022 08:02
@github-actions github-actions bot mentioned this pull request Feb 28, 2022
34 tasks
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