Sha256: d61f4389c5d30aced59ddc69a4702e2dd08729376d439d81be0730425643eeac

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require 'rack'
require 'puma'
require 'rack/handler/puma'
require 'capybara'
require 'capybara/rspec'
require 'capybara/poltergeist'
require 'capybara/angular'

Capybara.default_driver = :poltergeist
Capybara.app = Rack::Directory.new('spec/public')
Capybara.default_max_wait_time = 2
Capybara::Angular.default_max_wait_time = 10

feature 'Waiting for angular' do
  include Capybara::Angular::DSL

  scenario 'when manually bootstrapping an angular application' do
    open_manual_bootstrap_page
    timeout_page_should_have_waited
  end

  scenario 'when using ng-app to bootstrap an application' do
    open_ng_app_bootstrap_page
    timeout_page_should_have_waited
  end

  scenario 'when using ng-app not on the body tag to bootstrap an application' do
    open_ng_app_not_on_body_bootstrap_page
    timeout_page_should_have_waited
  end

  scenario 'when visiting a non-angular page' do
    open_non_angular_page
    non_angular_page_should_load
  end

  scenario 'when visiting a non-angular page that loads angular javascript' do
    open_non_angular_page_with_angular_javascript
    non_angular_page_should_load
  end

  def open_manual_bootstrap_page
    visit '/manual.html'
  end

  def open_ng_app_bootstrap_page
    visit '/ng-app.html'
  end

  def open_ng_app_not_on_body_bootstrap_page
    visit '/ng-app-not-on-body.html'
  end

  def open_non_angular_page
    visit '/non-angular-page.html'
  end

  def open_non_angular_page_with_angular_javascript
    visit '/non-angular-page-with-angular-javascript.html'
  end

  def timeout_page_should_have_waited
    expect(page).to have_content('waited')
  end

  def non_angular_page_should_load
    expect(page).to have_content('non-angular page')
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
capybara-angular-0.3.0 spec/capybara/angular_spec.rb