From 497966dfcdf5b49a7106397a0e2b5055934a5d0b Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Tue, 15 Dec 2009 20:58:51 +0100 Subject: [PATCH] refactored session specs into its own subdirectory --- spec/session_spec.rb | 933 +----------------- spec/session_with_javascript_support_spec.rb | 53 + ...session_without_javascript_support_spec.rb | 15 + spec/sessions/all_spec.rb | 38 + spec/sessions/attach_file_spec.rb | 53 + spec/sessions/check_spec.rb | 28 + spec/sessions/choose_spec.rb | 28 + spec/sessions/click_button_spec.rb | 141 +++ spec/sessions/click_link_spec.rb | 43 + spec/sessions/click_spec.rb | 26 + spec/sessions/fill_in_spec.rb | 59 ++ spec/sessions/find_button_spec.rb | 18 + spec/sessions/find_field_spec.rb | 24 + spec/sessions/find_link_spec.rb | 19 + spec/sessions/find_spec.rb | 36 + spec/sessions/has_content_spec.rb | 40 + spec/sessions/has_css_spec.rb | 56 ++ spec/sessions/has_xpath_spec.rb | 59 ++ spec/sessions/select_spec.rb | 27 + spec/sessions/uncheck_spec.rb | 29 + spec/sessions/wait_for_spec.rb | 36 + spec/sessions/within_spec.rb | 145 +++ spec/spec_helper.rb | 7 +- 23 files changed, 1007 insertions(+), 906 deletions(-) create mode 100644 spec/session_with_javascript_support_spec.rb create mode 100644 spec/session_without_javascript_support_spec.rb create mode 100644 spec/sessions/all_spec.rb create mode 100644 spec/sessions/attach_file_spec.rb create mode 100644 spec/sessions/check_spec.rb create mode 100644 spec/sessions/choose_spec.rb create mode 100644 spec/sessions/click_button_spec.rb create mode 100644 spec/sessions/click_link_spec.rb create mode 100644 spec/sessions/click_spec.rb create mode 100644 spec/sessions/fill_in_spec.rb create mode 100644 spec/sessions/find_button_spec.rb create mode 100644 spec/sessions/find_field_spec.rb create mode 100644 spec/sessions/find_link_spec.rb create mode 100644 spec/sessions/find_spec.rb create mode 100644 spec/sessions/has_content_spec.rb create mode 100644 spec/sessions/has_css_spec.rb create mode 100644 spec/sessions/has_xpath_spec.rb create mode 100644 spec/sessions/select_spec.rb create mode 100644 spec/sessions/uncheck_spec.rb create mode 100644 spec/sessions/wait_for_spec.rb create mode 100644 spec/sessions/within_spec.rb diff --git a/spec/session_spec.rb b/spec/session_spec.rb index f55d9ebf..9731410a 100644 --- a/spec/session_spec.rb +++ b/spec/session_spec.rb @@ -1,5 +1,4 @@ require File.expand_path('spec_helper', File.dirname(__FILE__)) - require 'nokogiri' shared_examples_for "session" do @@ -21,913 +20,37 @@ shared_examples_for "session" do @session.body.should include('Another World') end end + + #describe '#click_element' do + # it "should click on a element" do + # @session.visit('/with_html') + # @session.click_element('fool_to_cry') + # @session.body.should include('
and I go see her sometimes
And we make love, so fine
I put my head on her shoulder
') + # end + #end - describe '#click' do - it "should click on a link" do - @session.visit('/with_html') - @session.click('labore') - @session.body.should include('

Bar

') - end - - it "should click on a button" do - @session.visit('/form') - @session.click('awe123') - extract_results(@session)['first_name'].should == 'John' - end - - context "with a locator that doesn't exist" do - it "should raise an error" do - @session.visit('/with_html') - running do - @session.click('does not exist') - end.should raise_error(Capybara::ElementNotFound) - end - end - end - - describe '#click_link' do - before do - @session.visit('/with_html') - end - - context "with id given" do - it "should take user to the linked page" do - @session.click_link('foo') - @session.body.should include('Another World') - end - end - - context "with text given" do - it "should take user to the linked page" do - @session.click_link('labore') - @session.body.should include('

Bar

') - end - end - - context "with title given" do - it "should take user to the linked page" do - @session.click_link('awesome title') - @session.body.should include('

Bar

') - end - end - - context "with a locator that doesn't exist" do - it "should raise an error" do - running do - @session.click_link('does not exist') - end.should raise_error(Capybara::ElementNotFound) - end - end - - it "should follow redirects" do - @session.click_link('Redirect') - @session.body.should include('You landed') - end - end - - describe '#click_button' do - before do - @session.visit('/form') - end - - context "with multiple values with the same name" do - it "should use the latest given value" do - @session.check('Terms of Use') - @session.click_button('awesome') - extract_results(@session)['terms_of_use'].should == '1' - end - end - - context "with value given on a submit button" do - before do - @session.click_button('awesome') - @results = extract_results(@session) - end - - it "should serialize and submit text fields" do - @results['first_name'].should == 'John' - end - - it "should escape fields when submitting" do - @results['phone'].should == '+1 555 7021' - end - - it "should serialize and submit password fields" do - @results['password'].should == 'seeekrit' - end - - it "should serialize and submit hidden fields" do - @results['token'].should == '12345' - end - - it "should not serialize fields from other forms" do - @results['middle_name'].should be_nil - end - - it "should submit the button that was clicked, but not other buttons" do - @results['awesome'].should == 'awesome' - @results['crappy'].should be_nil - end - - it "should serialize radio buttons" do - @results['gender'].should == 'female' - end - - it "should serialize check boxes" do - @results['pets'].should include('dog', 'hamster') - @results['pets'].should_not include('cat') - end - - it "should serialize text areas" do - @results['description'].should == 'Descriptive text goes here' - end - - it "should serialize select tag with values" do - @results['locale'].should == 'en' - end - - it "should serialize select tag without values" do - @results['region'].should == 'Norway' - end - - it "should serialize first option for select tag with no selection" do - @results['city'].should == 'London' - end - - it "should not serialize a select tag without options" do - @results['tendency'].should be_nil - end - end - - context "with id given on a submit button" do - it "should submit the associated form" do - @session.click_button('awe123') - extract_results(@session)['first_name'].should == 'John' - end - end - - context "with value given on an image button" do - it "should submit the associated form" do - @session.click_button('okay') - extract_results(@session)['first_name'].should == 'John' - end - end - - context "with id given on an image button" do - it "should submit the associated form" do - @session.click_button('okay556') - extract_results(@session)['first_name'].should == 'John' - end - end - - context "with text given on a button defined by