mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-17 00:07:24 +00:00
BOM API collects distributor for orders
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user