X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/e47c11c644c3e73e8dcc95d3ee9c133e050360f0..8e566b0bff66e23389a6fb1c7458696c8e06faf1:/test/application_system_test_case.rb diff --git a/test/application_system_test_case.rb b/test/application_system_test_case.rb index 410fe578a..d2c3d5196 100644 --- a/test/application_system_test_case.rb +++ b/test/application_system_test_case.rb @@ -1,21 +1,44 @@ require "test_helper" -require "capybara/poltergeist" -# Work around weird debian/ubuntu phantomjs -# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817277 -# https://github.com/ariya/phantomjs/issues/14376 -ENV["QT_QPA_PLATFORM"] = "offscreen" if IO.popen(["phantomjs", "--version"], :err => :close).read.empty? +ENV.delete("http_proxy") ActiveSupport.on_load(:action_dispatch_system_test_case) do ActionDispatch::SystemTesting::Server.silence_puma = true end class ApplicationSystemTestCase < ActionDispatch::SystemTestCase - driven_by :poltergeist, :screen_size => [1400, 1400], :options => { :timeout => 120 } + driven_by :selenium, :using => :headless_firefox do |options| + options.add_preference("intl.accept_languages", "en") + end + + def before_setup + super + osm_website_app = create(:oauth_application, :name => "OpenStreetMap Web Site", :scopes => "write_api write_notes") + Settings.oauth_application = osm_website_app.uid + end + + def after_teardown + Settings.reload! + super + end + + private + + def sign_in_as(user) + visit login_path + within "form", :text => "Email Address or Username" do + fill_in "username", :with => user.email + fill_in "password", :with => "test" + click_on "Log in" + end + end + + def sign_out + visit logout_path + click_on "Logout", :match => :first + end - # Phantomjs can pick up browser Accept-Language preferences from your desktop environment. - # We don't want this to happen during the tests! - setup do - page.driver.add_headers("Accept-Language" => "en") + def within_sidebar(&) + within("#sidebar_content", &) end end