From e9aa52736ac9b23f8f5c76c0db9ec36cdb0e7bb0 Mon Sep 17 00:00:00 2001 From: benji Date: Mon, 21 Sep 2015 17:38:22 +0200 Subject: [PATCH] Fix calculate_price when order_item without product is provided --- app/models/order.rb | 2 +- spec/models/order_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/order.rb b/app/models/order.rb index 5866cea..912f124 100644 --- a/app/models/order.rb +++ b/app/models/order.rb @@ -36,7 +36,7 @@ class Order < ActiveRecord::Base private def calculate_price - self.price_cents = self.order_items.map{ |oi| oi.count * oi.product.price_cents }.sum + self.price_cents = self.order_items.map{ |oi| oi.count * (oi.product.try(:price_cents) || 0) }.sum end def create_api_job diff --git a/spec/models/order_spec.rb b/spec/models/order_spec.rb index 373471c..3e46b83 100644 --- a/spec/models/order_spec.rb +++ b/spec/models/order_spec.rb @@ -48,7 +48,7 @@ describe Order do describe 'order_items' do it 'should be validated' do - @order.order_items << OrderItem.new(count: -5) + @order.order_items.build(count: -5) expect(@order).to_not be_valid end end