Skip to content

Fix for failing Rubocop tests. - #3405

Merged
benjaminfaure merged 2 commits into
developmentfrom
fix_rspec_tests_for_bootstrap_upgrade
Apr 11, 2024
Merged

Fix for failing Rubocop tests.#3405
benjaminfaure merged 2 commits into
developmentfrom
fix_rspec_tests_for_bootstrap_upgrade

Conversation

@johnpinto1

@johnpinto1 johnpinto1 commented Apr 9, 2024

Copy link
Copy Markdown
Contributor

Changes:

  • To deal with missing favicon.ico error ( ActionController::RoutingError: No route matches [GET] "/favicon.ico") : added config/routes_test.rb to add a route will return an empty response with a 200 OK status code when the browser requests the favicon.ico file. Then for test purposes we add the lines to config/encvironments/test.rb: # Add config/routes_test.rb to routes config.paths['config/routes.rb'] << Rails.root.join('config/routes_test.rb')

  • The other outstanding errors arose because in the test environment we sometimes encounter errors like (Selenium::WebDriver::Error::ElementClickInterceptedError: element click intercepted: # Element # is not clickable at point (101, 203). Other element would receive the click:

    ...
    ).
    To get round this we use JS to click on element using code like
    this:
    change_affiliation_input_button = find('input[value="Change affiliation"]')
    execute_script('arguments[0].click();', change_affiliation_input_button)

Changes:
 - To deal with missing favicon.ico error ( ActionController::RoutingError:
       No route matches [GET] "/favicon.ico") :
   added config/routes_test.rb to add a route will return an empty response
   with a 200 OK status code when the browser requests the favicon.ico file.
   Then for test purposes we add the lines to config/encvironments/test.rb:
     # Add config/routes_test.rb to routes
     config.paths['config/routes.rb'] << Rails.root.join('config/routes_test.rb')

  - The other outstanding errors arose because in the test environment
    we sometimes encounter errors like (Selenium::WebDriver::Error::ElementClickInterceptedError: element click intercepted:
    # Element <input type="submit" name="commit" value="Change affiliation" class="btn btn-secondary" data-disable-with="Change affiliation">
    # is not clickable at point (101, 203). Other element would receive
the click: <div id="ui-id-2" tabindex="-1"
class="ui-menu-item-wrapper">...</div>).
    To get round this we use JS to click on element using code like
this:
  change_affiliation_input_button = find('input[value="Change affiliation"]')
   execute_script('arguments[0].click();', change_affiliation_input_button)
@johnpinto1
johnpinto1 force-pushed the fix_rspec_tests_for_bootstrap_upgrade branch from ca2bf8a to 55321d0 Compare April 9, 2024 13:29
:selenium_chrome_headless driver has a default window-size of (800x600). This small window-size seems to result in the `Selenium::WebDriver::Error::ElementClickInterceptedError:`

This commit increases the window-size and also reverts the prior fix for these errors (commit 55321d0)
@johnpinto1

Copy link
Copy Markdown
Contributor Author

@aaronskiba You fix was neater than mine for the Selenium::WebDriver::Error::ElementClickInterceptedError. Yours is future proof.

@benjaminfaure
benjaminfaure merged commit 56759df into development Apr 11, 2024
@benjaminfaure
benjaminfaure deleted the fix_rspec_tests_for_bootstrap_upgrade branch April 11, 2024 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

4 participants