Sha256: fb879f0e5c6c27ca73d27a894b29940038603c27ba61ca777301b66896725113

Contents?: true

Size: 1.61 KB

Versions: 4

Compression:

Stored size: 1.61 KB

Contents

require 'spec_helper'
require 'page-object/platforms/selenium/page_object'
require 'page-object/elements'

class SeleniumTestPageObject
  include PageObject
end

describe PageObject::Platforms::Selenium::PageObject do
  let(:selenium_browser) { mock_selenium_browser }
  let(:selenium_page_object) { SeleniumTestPageObject.new(selenium_browser) }
  
  before(:each) do
    selenium_browser.stub(:switch_to).and_return(selenium_browser)
    selenium_browser.stub(:default_content)
  end

  context "when building identifiers hash" do
    it "should add tag_name when identifying by text for hidden_field" do
      expected_identifier = {:text => 'foo', :tag_name => 'input', :type => 'hidden'}
      PageObject::Elements::HiddenField.should_receive(:selenium_identifier_for).with(expected_identifier)
      selenium_browser.should_receive(:find_element)
      selenium_page_object.platform.hidden_field_for(:text => 'foo')
    end

    it "should add tag_name when identifying by href for anchor" do
      expected_identifier = {:href => 'foo', :tag_name => 'a'}
      PageObject::Elements::Link.should_receive(:selenium_identifier_for).with(expected_identifier)
      selenium_browser.should_receive(:find_element)
      selenium_page_object.platform.link_for(:href => 'foo')
    end
    
    it "should add tag_name when identifying by text for div" do
      expected_identifier = {:text => 'foo', :tag_name => 'div'}
      PageObject::Elements::Div.should_receive(:selenium_identifier_for).with(expected_identifier)
      selenium_browser.should_receive(:find_element)
      selenium_page_object.platform.div_for(:text => 'foo')
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
page-object-0.2.5 spec/page-object/platforms/selenium/selenium_page_object_spec.rb
page-object-0.2.4 spec/page-object/platforms/selenium/selenium_page_object_spec.rb
page-object-0.2.3 spec/page-object/platforms/selenium/selenium_page_object_spec.rb
page-object-0.2.2 spec/page-object/platforms/selenium/selenium_page_object_spec.rb