2010-01-18 15:28:06 -05:00
|
|
|
shared_examples_for "has_field" do
|
2010-01-18 16:31:22 -05:00
|
|
|
describe '#has_field' do
|
2010-02-20 16:04:06 -05:00
|
|
|
before { @session.visit('/form') }
|
|
|
|
|
2010-01-18 15:28:06 -05:00
|
|
|
it "should be true if the field is on the page" do
|
|
|
|
@session.should have_field('Dog')
|
|
|
|
@session.should have_field('form_description')
|
|
|
|
@session.should have_field('Region')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be false if the field is not on the page" do
|
|
|
|
@session.should_not have_field('Monkey')
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'with value' do
|
|
|
|
it "should be true if a field with the given value is on the page" do
|
|
|
|
@session.should have_field('First Name', :with => 'John')
|
|
|
|
@session.should have_field('Phone', :with => '+1 555 7021')
|
|
|
|
@session.should have_field('Street', :with => 'Sesame street 66')
|
2010-02-05 03:04:47 -05:00
|
|
|
@session.should have_field('Description', :with => 'Descriptive text goes here')
|
2010-01-18 15:28:06 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should be false if the given field is not on the page" do
|
|
|
|
@session.should_not have_field('First Name', :with => 'Peter')
|
|
|
|
@session.should_not have_field('Wrong Name', :with => 'John')
|
2010-02-05 03:04:47 -05:00
|
|
|
@session.should_not have_field('Description', :with => 'Monkey')
|
2010-01-18 15:28:06 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe '#has_no_field' do
|
2010-02-20 16:04:06 -05:00
|
|
|
before { @session.visit('/form') }
|
|
|
|
|
2010-01-18 15:28:06 -05:00
|
|
|
it "should be false if the field is on the page" do
|
|
|
|
@session.should_not have_no_field('Dog')
|
|
|
|
@session.should_not have_no_field('form_description')
|
|
|
|
@session.should_not have_no_field('Region')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be true if the field is not on the page" do
|
|
|
|
@session.should have_no_field('Monkey')
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'with value' do
|
2010-09-17 21:22:38 -04:00
|
|
|
it "should be false if a field with the given value is on the page" do
|
2010-01-18 15:28:06 -05:00
|
|
|
@session.should_not have_no_field('First Name', :with => 'John')
|
|
|
|
@session.should_not have_no_field('Phone', :with => '+1 555 7021')
|
|
|
|
@session.should_not have_no_field('Street', :with => 'Sesame street 66')
|
2010-02-05 03:04:47 -05:00
|
|
|
@session.should_not have_no_field('Description', :with => 'Descriptive text goes here')
|
2010-01-18 15:28:06 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
it "should be true if the given field is not on the page" do
|
|
|
|
@session.should have_no_field('First Name', :with => 'Peter')
|
|
|
|
@session.should have_no_field('Wrong Name', :with => 'John')
|
2010-02-05 03:04:47 -05:00
|
|
|
@session.should have_no_field('Description', :with => 'Monkey')
|
2010-01-18 15:28:06 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
2010-01-18 16:31:22 -05:00
|
|
|
|
|
|
|
describe '#has_checked_field?' do
|
2010-02-20 16:04:06 -05:00
|
|
|
before { @session.visit('/form') }
|
|
|
|
|
2010-01-18 16:31:22 -05:00
|
|
|
it "should be true if a checked field is on the page" do
|
|
|
|
@session.should have_checked_field('gender_female')
|
|
|
|
@session.should have_checked_field('Hamster')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be false if an unchecked field is on the page" do
|
|
|
|
@session.should_not have_checked_field('form_pets_cat')
|
|
|
|
@session.should_not have_checked_field('Male')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be false if no field is on the page" do
|
|
|
|
@session.should_not have_checked_field('Does Not Exist')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
describe '#has_unchecked_field?' do
|
2010-02-20 16:04:06 -05:00
|
|
|
before { @session.visit('/form') }
|
|
|
|
|
2010-01-18 16:31:22 -05:00
|
|
|
it "should be false if a checked field is on the page" do
|
|
|
|
@session.should_not have_unchecked_field('gender_female')
|
|
|
|
@session.should_not have_unchecked_field('Hamster')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be true if an unchecked field is on the page" do
|
|
|
|
@session.should have_unchecked_field('form_pets_cat')
|
|
|
|
@session.should have_unchecked_field('Male')
|
|
|
|
end
|
|
|
|
|
|
|
|
it "should be false if no field is on the page" do
|
|
|
|
@session.should_not have_unchecked_field('Does Not Exist')
|
|
|
|
end
|
|
|
|
end
|
2010-01-18 15:28:06 -05:00
|
|
|
end
|
|
|
|
|