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 | ... | ... |