]> git.openstreetmap.org Git - rails.git/blobdiff - test/application_system_test_case.rb
Make api create changeset path resourceful
[rails.git] / test / application_system_test_case.rb
index f6546a550d6cb4ade8238ba75bda6364752e6e60..f7769426c562fc1a8ebb80fa708478f1fc2022ba 100644 (file)
@@ -7,7 +7,49 @@ ActiveSupport.on_load(:action_dispatch_system_test_case) do
 end
 
 class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
 end
 
 class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
-  driven_by :selenium, :using => :headless_firefox do |options|
+  include ActionMailer::TestCase::ClearTestDeliveries
+
+  driven_by :selenium, :using => Settings.system_test_headless ? :headless_firefox : :firefox do |options|
     options.add_preference("intl.accept_languages", "en")
     options.add_preference("intl.accept_languages", "en")
+    options.binary = Settings.system_test_firefox_binary if Settings.system_test_firefox_binary
+  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
+
+  def within_sidebar(&)
+    within("#sidebar_content", &)
+  end
+
+  def within_content_body(&)
+    within("#content > .content-body", &)
+  end
+
+  def within_content_heading(&)
+    within("#content > .content-heading", &)
   end
 end
   end
 end