spec/element_spec.rb in page_magic-0.11.0.alpha2 vs spec/element_spec.rb in page_magic-0.11.0.alpha3
- old
+ new
@@ -15,20 +15,34 @@
end
Capybara.current_session.visit('/')
end
- describe 'construction' do
+ describe 'inheriting' do
- let(:page_section_class) do
- Class.new(PageMagic::Element)
- end
+ include_context :webapp
- let(:selector) { {css: '.class_name'} }
+ it 'lets you create custom elements' do
+ custom_element = Class.new(PageMagic::Element) do
+ selector css: '.form'
- let!(:browser) { double('browser', find: :browser_element) }
- let!(:parent_page_element) { double('parent_page_element', browser_element: browser) }
+ link :form_link, id: 'form_link'
+ def self.name
+ 'Form'
+ end
+ end
+
+ page = Class.new do
+ include PageMagic
+ url '/elements'
+ section custom_element
+ end
+
+ page = page.new
+ page.visit
+ page.form.form_link.visible?.should be_true
+ end
end
describe 'browser_element' do
it 'should raise an error if a selector has not been specified' do
expect { PageMagic::Element.new(:name, Object.new, :type).browser_element }.to raise_error(PageMagic::UndefinedSelectorException)