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

提出物一覧ページの「未アサイン」タブのバッジに表示される件数が変わらないことがある #3646

Closed
AudioStakes opened this issue Dec 1, 2021 · 4 comments
Assignees

Comments

@AudioStakes
Copy link
Contributor

AudioStakes commented Dec 1, 2021

概要

Rails の test モードでキャッシュを有効にしてテストした結果テストが1つ失敗します。失敗する原因は「未アサイン」の提出物に担当がついても(つまり未アサイン件数が減っても)「未アサイン」タブに表示される件数が変わらないことのようです。

失敗するテストは以下です。

test 'show unassigned products counter and can change counter after click assignee-button on unassigned-tab' do
visit_with_auth products_path, 'komagata'
unassigned_tab = find('#test-unassigned-tab')
initial_counter = find('#test-unassigned-counter').text
assignee_buttons = all('.a-button.is-block.is-secondary.is-sm', text: '担当する')
assignee_buttons.first.click
unassigned_tab.click
wait_for_vuejs
operated_counter = find('#test-unassigned-counter').text
assert_not_equal initial_counter, operated_counter
end

なお、テストを実行するときは test モードのキャッシュストアを production モードと同じ ActiveSupport::Cache::MemoryStore (キャッシュをメモリに保持)に設定しました。現状はキャッシュストアとして ActiveSupport::Cache::NullStore (キャッシュを保持しない)を使用しており、その場合は上記のテストが成功します。

再現手順

  1. Rails を test モードで実行する時にキャッシュストアとして ActiveSupport::Cache::MemoryStore を使うように設定

    diff --git a/config/environments/test.rb b/config/environments/test.rb
    index e080eba6d..c20b14524 100644
    --- a/config/environments/test.rb
    +++ b/config/environments/test.rb
    @@ -25,7 +25,7 @@ Rails.application.configure do
       # Show full error reports and disable caching.
       config.consider_all_requests_local       = true
       config.action_controller.perform_caching = false
    -  config.cache_store = :null_store
    +  config.cache_store = :memory_store
     
       # Raise exceptions instead of rendering exception templates.
       config.action_dispatch.show_exceptions = false
  2. テストを実行

    • $ rails test:all
  3. 上記のテストが失敗する。
    ※ 以下のログは落ちるテストのみを対象にテストを実行

    $ rails test test/system/products_test.rb:434
    Running via Spring preloader in process 23787
    Run options: --seed 31601
    
    # Running:
    
    Capybara starting Puma...
    * Version 5.5.1 , codename: Zawgyi
    * Min threads: 0, max threads: 4
    * Listening on http://127.0.0.1:52742
    [Screenshot Image]: /Users/satoudaisuke/src/github.com/fjordllc/bootcamp/tmp/screenshots/failures_test_show_unassigned_products_counter_and_can_change_counter_after_click_assignee-button_on_unassigned-tab.png
    F
    
    Failure:
    ProductsTest#test_show_unassigned_products_counter_and_can_change_counter_after_click_assignee-button_on_unassigned-tab [/Users/satoudaisuke/src/github.com/fjordllc/bootcamp/test/system/products_test.rb:445]:
    Expected "55" to not be equal to "55".
    
    rails test test/system/products_test.rb:434
    
    Finished in 9.373226s, 0.1067 runs/s, 0.1067 assertions/s.
    1 runs, 1 assertions, 1 failures, 0 errors, 0 skips

期待される振る舞い

キャッシュを保持するようにした状態でも上記のテストが成功すること(すなわち「未アサイン」の件数が減ったときに「未アサイン」タブに表示される件数も減ること)

補足

現状の設定、すなわち config.cache_store = :null_store (キャッシュを保持しない)、の場合は同じテストが成功している

$ rails test test/system/products_test.rb:434
Running via Spring preloader in process 20633
Run options: --seed 40012

# Running:

Capybara starting Puma...
* Version 5.5.1 , codename: Zawgyi
* Min threads: 0, max threads: 4
* Listening on http://127.0.0.1:52417
.

Finished in 8.358322s, 0.1196 runs/s, 0.1196 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

環境

  • OS: macOS Monterey 12.0.1
  • ブラウザ: Google Chrome Version 96.0.4664.55

関連 PR

Ref: #3027

@komagata komagata added the 1 label Dec 1, 2021
@AudioStakes AudioStakes changed the title test 環境でキャッシュを保持するように設定すると、失敗するようになるテストがある Rails の test モードでキャッシュを保持するように設定すると、テストが1つ失敗するようになる Dec 2, 2021
@AudioStakes AudioStakes changed the title Rails の test モードでキャッシュを保持するように設定すると、テストが1つ失敗するようになる 提出物一覧ページの「未アサイン」タブの件数が変わらないことがある Jan 15, 2022
@AudioStakes AudioStakes changed the title 提出物一覧ページの「未アサイン」タブの件数が変わらないことがある 提出物一覧ページの「未アサイン」タブのバッジに表示される件数が変わらないことがある Jan 15, 2022
@AudioStakes
Copy link
Contributor Author

AudioStakes commented Jan 19, 2022

@komagata
こちらメンター向けの機能のため、お手数おかけしますが、次のリリース後に本番環境での動作確認をお願いいたします🙏
なお、次のリリース予定日は明日2022/01/20(木)であり、本日1/19(木)はまだリリースされていません。

確認対象のキャプチャ

image

確認手順

すべての手順に共通すること

  • 確認対象は「未アサイン」タブのバッジに表示される件数(以下、未アサイン件数)
  • メンター ( komagata など)としてログインする
  • 手順の始めに提出物一覧ページの未アサイン件数を確認する

確認すること

  • 「未アサイン」の提出物の担当になったあとに画面を更新すると、未アサイン件数が1件減っていること
  • 「自分の担当」の提出物の担当から外れたあとに画面を更新すると、未アサイン件数が1件増えていること
  • 新しい提出物が作成されたあと、未アサイン件数が1件増えていること
  • 「未アサイン」の提出物が削除されたあと、未アサイン件数が1件減っていること

@AudioStakes
Copy link
Contributor Author

AudioStakes commented Jan 25, 2022

@komagata こちらメンター向けの機能のため、お時間のあるときに本番環境での動作確認をお願いいたしますー🙏
※ 動作確認方法はコメント済みです

@komagata
Copy link
Member

@AudioStakes 本番環境で動作することを確認しました。

@AudioStakes
Copy link
Contributor Author

@komagata ご確認、ありがとうございます!close しますー。

@komagata komagata moved this to 完成 in bootcamp Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants