spec/helpers/action_view_spec.rb in breadcrumble-4.2.1 vs spec/helpers/action_view_spec.rb in breadcrumble-4.3.0

- old
+ new

@@ -1,68 +1,93 @@ require 'spec_helper' describe 'Breadcrumble::ActionView' do context '#render_breadcrumbs' do before do - allow(helper).to receive(:breadcrumbs).and_return([ + stub(helper).breadcrumbs {[ { name: 'root_name', url: '/root_url' }, { name: 'test_name', url: '/test_url' } - ]) + ]} end - subject { helper.render_breadcrumbs } - it { is_expected.to match('root_name') } - it { is_expected.to match('root_url') } - it { is_expected.to match('test_name') } - it { is_expected.to match('test_url') } - it { is_expected.to match(' itemscope ') } + context 'schema.org' do + subject { helper.render_breadcrumbs } + it { is_expected.to match('root_name') } + it { is_expected.to match('root_url') } + it { is_expected.to match('test_name') } + it { is_expected.to match('test_url') } + it { is_expected.to match(' itemscope ') } + end + context 'data-vocabulary.org' do + subject { helper.render_breadcrumbs(theme: 'data_vocabulary') } + it { is_expected.to match('root_name') } + it { is_expected.to match('root_url') } + it { is_expected.to match('test_name') } + it { is_expected.to match('test_url') } + it { is_expected.to match(' itemscope ') } + end end context '#render_breadcrumb_trails' do before do - allow(helper).to receive(:breadcrumb_trails).and_return([ + stub(helper).breadcrumb_trails {[ [ { name: 'trail1_level1', url: '/trail1_level1_url' }, { name: 'trail1_level2', url: '/trail1_level2_url' } ], [ { name: 'trail2_level1', url: '/trail2_level1_url' }, { name: 'trail2_level2', url: '/trail2_level2_url' } ] - ]) + ]} end - subject { helper.render_breadcrumb_trails } - it { is_expected.to match('trail1_level1') } - it { is_expected.to match('trail1_level1_url') } - it { is_expected.to match('trail1_level2') } - it { is_expected.to match('trail1_level2_url') } - it { is_expected.to match('trail2_level1') } - it { is_expected.to match('trail2_level1_url') } - it { is_expected.to match('trail2_level2') } - it { is_expected.to match('trail2_level2_url') } - it { is_expected.to match('itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"') } + context 'schema.org' do + subject { helper.render_breadcrumb_trails } + it { is_expected.to match('trail1_level1') } + it { is_expected.to match('trail1_level1_url') } + it { is_expected.to match('trail1_level2') } + it { is_expected.to match('trail1_level2_url') } + it { is_expected.to match('trail2_level1') } + it { is_expected.to match('trail2_level1_url') } + it { is_expected.to match('trail2_level2') } + it { is_expected.to match('trail2_level2_url') } + it { is_expected.to match('itemscope itemtype="http://schema.org/BreadcrumbList"') } + it { is_expected.to match('itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"') } + end + context 'data-vocabulary.org' do + subject { helper.render_breadcrumb_trails(theme: 'data_vocabulary') } + it { is_expected.to match('trail1_level1') } + it { is_expected.to match('trail1_level1_url') } + it { is_expected.to match('trail1_level2') } + it { is_expected.to match('trail1_level2_url') } + it { is_expected.to match('trail2_level1') } + it { is_expected.to match('trail2_level1_url') } + it { is_expected.to match('trail2_level2') } + it { is_expected.to match('trail2_level2_url') } + it { is_expected.to match('itemprop="child" itemscope itemtype="http://data-vocabulary.org/Breadcrumb"') } + end end context '#render_breadcrumbs with theme' do before do - allow(helper).to receive(:breadcrumbs).and_return([ + stub(helper).breadcrumbs {[ { name: 'root_name', url: '/root_url' }, { name: 'test_name', url: '/test_url' } - ]) + ]} end subject { helper.render_breadcrumbs(theme: 'test') } it { is_expected.to match('test breadcrumb theme') } it { is_expected.to match(' itemscope ') } end context '#render_breadcrumb_trails with theme' do before do - allow(helper).to receive(:breadcrumb_trails).and_return([ + stub(helper).breadcrumb_trails {[ [ { name: 'trail1_level1', url: '/trail1_level1_url' }, { name: 'trail1_level2', url: '/trail1_level2_url' } ], [ { name: 'trail2_level1', url: '/trail2_level1_url' }, { name: 'trail2_level2', url: '/trail2_level2_url' } ] - ]) + ]} end subject { helper.render_breadcrumb_trails(theme: 'test') } it { is_expected.to match('test breadcrumb_trails theme') } end end