Commit 9f003eb0ed27201771881656c0916e9b2f7eb9b7
1 parent
5955ed72
Exists in
web_steps_improvements
and in
9 other branches
Fix ProductsBlock unit tests and view
By removing the content method, it is now necessary to turn the test into a view one using the BoxesHelper method and properly stubbing other helpers.
Showing
1 changed file
with
36 additions
and
18 deletions
Show diff stats
test/unit/products_block_test.rb
| ... | ... | @@ -20,21 +20,6 @@ class ProductsBlockTest < ActiveSupport::TestCase |
| 20 | 20 | assert_not_equal Block.description, ProductsBlock.description |
| 21 | 21 | end |
| 22 | 22 | |
| 23 | - should "list owner products" do | |
| 24 | - enterprise = create(Enterprise, :name => 'testenterprise', :identifier => 'testenterprise') | |
| 25 | - create(Product, :enterprise => enterprise, :name => 'product one', :product_category => @product_category) | |
| 26 | - create(Product, :enterprise => enterprise, :name => 'product two', :product_category => @product_category) | |
| 27 | - | |
| 28 | - block.expects(:products).returns(enterprise.products) | |
| 29 | - | |
| 30 | - content = block.content | |
| 31 | - | |
| 32 | - assert_tag_in_string content, :content => 'Products' | |
| 33 | - | |
| 34 | - assert_tag_in_string content, :tag => 'li', :attributes => { :class => 'product' }, :descendant => { :tag => 'a', :content => /product one/ } | |
| 35 | - assert_tag_in_string content, :tag => 'li', :attributes => { :class => 'product' }, :descendant => { :tag => 'a', :content => /product two/ } | |
| 36 | - end | |
| 37 | - | |
| 38 | 23 | should 'point to all products in footer' do |
| 39 | 24 | enterprise = create(Enterprise, :name => 'testenterprise', :identifier => 'testenterprise') |
| 40 | 25 | create(Product, :enterprise => enterprise, :name => 'product one', :product_category => @product_category) |
| ... | ... | @@ -134,13 +119,46 @@ class ProductsBlockTest < ActiveSupport::TestCase |
| 134 | 119 | assert_tag_in_string footer, :tag => 'a', :attributes => { :href => /\/catalog\/testenterprise$/ }, :content => 'View all products' |
| 135 | 120 | end |
| 136 | 121 | |
| 122 | + | |
| 123 | +end | |
| 124 | + | |
| 125 | +require 'boxes_helper' | |
| 126 | +require 'block_helper' | |
| 127 | + | |
| 128 | +class ProductsBlockViewTest < ActionView::TestCase | |
| 129 | + include BoxesHelper | |
| 130 | + | |
| 131 | + ActionView::Base.send :include, BlockHelper | |
| 132 | + | |
| 133 | + def setup | |
| 134 | + @block = ProductsBlock.new | |
| 135 | + @product_category = fast_create(ProductCategory, :name => 'Products') | |
| 136 | + end | |
| 137 | + attr_reader :block | |
| 138 | + | |
| 139 | + should "list owner products" do | |
| 140 | + enterprise = create(Enterprise, :name => 'testenterprise', :identifier => 'testenterprise') | |
| 141 | + create(Product, :enterprise => enterprise, :name => 'product one', :product_category => @product_category) | |
| 142 | + create(Product, :enterprise => enterprise, :name => 'product two', :product_category => @product_category) | |
| 143 | + | |
| 144 | + block.expects(:products).returns(enterprise.products) | |
| 145 | + | |
| 146 | + content = render_block_content(block) | |
| 147 | + | |
| 148 | + assert_tag_in_string content, :content => 'Products' | |
| 149 | + | |
| 150 | + assert_tag_in_string content, :tag => 'li', :attributes => { :class => 'product' }, :descendant => { :tag => 'a', :content => /product one/ } | |
| 151 | + assert_tag_in_string content, :tag => 'li', :attributes => { :class => 'product' }, :descendant => { :tag => 'a', :content => /product two/ } | |
| 152 | + end | |
| 153 | + | |
| 137 | 154 | should 'display the default minor image if thumbnails were not processed' do |
| 138 | 155 | enterprise = create(Enterprise, :name => 'testenterprise', :identifier => 'testenterprise') |
| 139 | 156 | create(Product, :enterprise => enterprise, :name => 'product', :product_category => @product_category, :image_builder => { :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')}) |
| 140 | 157 | |
| 141 | 158 | block.expects(:products).returns(enterprise.products) |
| 159 | + ActionView::Base.any_instance.stubs(:block_title).returns("") | |
| 142 | 160 | |
| 143 | - content = block.content | |
| 161 | + content = render_block_content(block) | |
| 144 | 162 | |
| 145 | 163 | assert_tag_in_string content, :tag => 'a', :attributes => { :style => /image-loading-minor.png/ } |
| 146 | 164 | end |
| ... | ... | @@ -151,9 +169,9 @@ class ProductsBlockTest < ActiveSupport::TestCase |
| 151 | 169 | |
| 152 | 170 | process_delayed_job_queue |
| 153 | 171 | block.expects(:products).returns(enterprise.products.reload) |
| 172 | + ActionView::Base.any_instance.stubs(:block_title).returns("") | |
| 154 | 173 | |
| 155 | - content = block.content | |
| 174 | + content = render_block_content(block) | |
| 156 | 175 | assert_tag_in_string content, :tag => 'a', :attributes => { :style => /rails_minor.png/ } |
| 157 | 176 | end |
| 158 | - | |
| 159 | 177 | end | ... | ... |