BOM API collects distributor for orders

This commit is contained in:
Rob H
2014-01-18 11:50:36 +08:00
parent 3f5930032b
commit e2d9e9c4eb
2 changed files with 14 additions and 8 deletions

View File

@@ -1,6 +1,7 @@
object @order
attributes :id, :email
node( :completed_at ) { |order| order.completed_at.blank? ? "" : order.completed_at.strftime("%F %T") }
node( :distributor ) { |order| partial 'spree/api/enterprises/bulk_show', :object => order.distributor }
node( :line_items ) do |order|
order.line_items.order('id ASC').map do |line_item|
partial 'spree/api/line_items/bulk_show', :object => line_item

View File

@@ -6,14 +6,15 @@ module Spree
include Spree::Api::TestingSupport::Helpers
render_views
let!(:order1) { FactoryGirl.create(:order, :state => 'complete', :completed_at => Time.now ) }
let!(:order2) { FactoryGirl.create(:order, :state => 'complete', :completed_at => Time.now ) }
let!(:order3) { FactoryGirl.create(:order, :state => 'complete', :completed_at => Time.now ) }
let!(:line_item1) { FactoryGirl.create(:line_item, :order => order1) }
let!(:line_item2) { FactoryGirl.create(:line_item, :order => order2) }
let!(:line_item3) { FactoryGirl.create(:line_item, :order => order2) }
let!(:line_item4) { FactoryGirl.create(:line_item, :order => order3) }
let(:order_attributes) { [:id, :email, :completed_at, :line_items] }
let!(:dist1) { FactoryGirl.create(:distributor_enterprise) }
let!(:order1) { FactoryGirl.create(:order, state: 'complete', completed_at: Time.now, distributor: dist1 ) }
let!(:order2) { FactoryGirl.create(:order, state: 'complete', completed_at: Time.now, distributor: dist1 ) }
let!(:order3) { FactoryGirl.create(:order, state: 'complete', completed_at: Time.now, distributor: dist1 ) }
let!(:line_item1) { FactoryGirl.create(:line_item, order: order1) }
let!(:line_item2) { FactoryGirl.create(:line_item, order: order2) }
let!(:line_item3) { FactoryGirl.create(:line_item, order: order2) }
let!(:line_item4) { FactoryGirl.create(:line_item, order: order3) }
let(:order_attributes) { [:id, :email, :completed_at, :line_items, :distributor] }
let(:line_item_attributes) { [:id, :quantity, :max_quantity, :supplier, :variant_unit_text] }
before do
@@ -58,6 +59,10 @@ module Spree
it "returns supplier object with id and name keys" do
json_response.map{ |order| order['line_items'] }.flatten.map{ |li| li['supplier'] }.all?{ |s| s.has_key?('id') && s.has_key?('name') }.should == true
end
it "returns distributor object with id and name keys" do
json_response.map{ |order| order['distributor'] }.all?{ |d| d.has_key?('id') && d.has_key?('name') }.should == true
end
end
end
end