Sha256: 4f549d19d4927d5bbdc7e44d22bd3a1ca10e1fe2f5f5b317681f043e45b7c42e

Contents?: true

Size: 1.79 KB

Versions: 1

Compression:

Stored size: 1.79 KB

Contents

module Zen
  module Spec
    module Helper
      ##
      # Module providing various helper methods for Capybara based tests.
      #
      # @since 2012-02-18
      #
      module Capybara
        ##
        # Logs the user in using the spec user.
        #
        # @since  0.2.8
        #
        def capybara_login
          # Log the user in
          login_url     = ::Users::Controller::Users.r(:login).to_s
          dashboard_url = ::Sections::Controller::Sections.r(:index).to_s

          visit(login_url)
          ::Ramaze::Log.loggers.clear

          within('#login_form') do
            fill_in('Email'   , :with => 'spec@domain.tld')
            fill_in('Password', :with => 'spec')
            click_button('Login')
          end
        end

        ##
        # Automatically saves a form with the given ID.
        #
        # @since 2012-02-18
        # @param [String] id The ID of the form.
        #
        def autosave_form(id)
          page.evaluate_script(
            "new Zen.Autosave(
              $('#{id}'),
              $('#{id}').get('data-autosave-url'),
              {interval: 1000}
            );"
          )

          sleep(2.5)

          page.has_selector?('span.error').should == false
        end

        ##
        # Switches Capybara's driver to the default Javascript driver.
        #
        # @since 2012-02-18
        #
        def enable_javascript
          WebMock.disable!

          ::Capybara.current_driver = ::Capybara.javascript_driver

          capybara_login
        end

        ##
        # Switches Capybara's driver back to the default driver.
        #
        # @since 2012-02-18
        #
        def disable_javascript
          ::Capybara.use_default_driver
          WebMock.enable!
        end
      end # Capybara
    end # Helper
  end # Spec
end # Zen

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zen-0.4.3 lib/zen/spec/helper/capybara.rb