Sha256: a8d8abd4f56151c6316448478750007505842d13eba514a1b242cbb34774d89a

Contents?: true

Size: 1 KB

Versions: 9

Compression:

Stored size: 1 KB

Contents

require 'spec_helper'
require 'page-object/page_factory'

class FactoryTestPageObject
  include PageObject
  page_url "http://google.com"
end

class TestWorld
  include PageObject::PageFactory

  attr_accessor :browser
end

describe PageObject::PageFactory do
  before(:each) do
    @world = TestWorld.new
    @world.browser = mock_watir_browser
  end

  it "should create a new page object and execute a block" do
    @world.browser.should_not_receive(:goto)
    @world.on_page FactoryTestPageObject do |page|
      page.should be_instance_of FactoryTestPageObject
    end
  end

  it "should create and visit a new page" do
    @world.browser.should_receive(:goto)
    @world.visit_page FactoryTestPageObject do |page|
      page.should be_instance_of FactoryTestPageObject
    end
  end
  
  it "should set an instance variable that can be used outside of the block" do
    page = @world.on_page FactoryTestPageObject
    current_page = @world.instance_variable_get "@current_page"
    current_page.should === page
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
page-object-0.5.5 spec/page-object/page_factory_spec.rb
page-object-0.5.4 spec/page-object/page_factory_spec.rb
page-object-0.5.3 spec/page-object/page_factory_spec.rb
page-object-0.5.2 spec/page-object/page_factory_spec.rb
page-object-0.5.1 spec/page-object/page_factory_spec.rb
page-object-0.5.0 spec/page-object/page_factory_spec.rb
page-object-0.4.4 spec/page-object/page_factory_spec.rb
page-object-0.4.3 spec/page-object/page_factory_spec.rb
page-object-0.4.2 spec/page-object/page_factory_spec.rb