Actions
Defect #44321
openRandom test failure in OauthProviderSystemTest due to incomplete sign out
Status:
New
Priority:
Normal
Assignee:
-
Category:
Code cleanup/refactoring
Target version:
-
Resolution:
Affected version:
Description
OauthProviderSystemTest#test_application_creation_and_authorization fails randomly.
Failure: OauthProviderSystemTest#test_application_creation_and_authorization [test/application_system_test_case.rb:76]: expected "/" to equal "/login" bin/rails test test/system/oauth_provider_test.rb:10
The failing assertion is assert_current_path '/login' in log_user (test/application_system_test_case.rb:76).
This test signs in as a different user after calling sign_out_user, but in rare cases the sign out has not completed by the time log_user starts, which seems to be what makes the test fail.
Updated by Mizuki ISHIKAWA 2 days ago
I think this can be resolved by waiting for the redirection to complete before proceeding to the next step, as shown below.
diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb
index a03768908..d3cf229d0 100644
--- a/test/application_system_test_case.rb
+++ b/test/application_system_test_case.rb
@@ -85,6 +85,8 @@ class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
def sign_out_user
find('#account .dropdown-trigger').click
click_link 'Sign out'
+ # Make sure the redirection after the sign out has completed
+ assert_current_path '/', :ignore_query => true
end
def wait_for_ajax
Actions