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)