Show product supplier and distributors on product details page

This commit is contained in:
Rohan Mitchell
2012-06-20 16:28:09 +10:00
parent 103aad467c
commit f9d290f00d
4 changed files with 53 additions and 0 deletions

View File

@@ -22,3 +22,13 @@ nav#filters {
}
}
}
/* Style the product source on the product details page in the
* same manner as the product properties table above it.
*/
#product-source {
@extend #product-properties;
}
#product-properties td, #product-source td {
width: 50%;
}

View File

@@ -0,0 +1,4 @@
Deface::Override.new(:virtual_path => "spree/products/show",
:insert_bottom => "[data-hook='product_left_part_wrap']",
:partial => "spree/products/source",
:name => "product_source")

View File

@@ -0,0 +1,14 @@
%div{:data-hook => "product_source"}
%h6.product-section-title Source
%table#product-source.table-display{:width => "100%"}
%tbody
- if @product.supplier
%tr.odd
%td
%strong Supplier
%td= @product.supplier.name
- @product.distributors.each do |distributor|
%tr.even
%td
%strong Distributor
%td= distributor.name

View File

@@ -0,0 +1,25 @@
require 'spec_helper'
feature %q{
As a consumer
I want to see products
So that I can shop
} do
include AuthenticationWorkflow
include WebHelper
scenario "viewing a product shows its supplier and distributor" do
# Given a product with a supplier and distributor
s = create(:supplier)
d = create(:distributor)
p = create(:product, :supplier => s, :distributors => [d])
# When I view the product
visit spree.product_path p
# Then I should see the product's supplier and distributor
page.should have_selector 'td', :text => s.name
page.should have_selector 'td', :text => d.name
end
end