From 8c39a04d61e6acc1232e53df865f3e1d06616e21 Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Tue, 30 Oct 2012 14:37:30 +0000 Subject: [PATCH] Avoid reload of product's inputs --- app/models/product.rb | 2 +- test/unit/product_test.rb | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/models/product.rb b/app/models/product.rb index b2873d0..d7a6c28 100644 --- a/app/models/product.rb +++ b/app/models/product.rb @@ -236,7 +236,7 @@ class Product < ActiveRecord::Base def percentage_from_solidarity_economy se_i = t_i = 0 - self.inputs(true).each{ |i| t_i += 1; se_i += 1 if i.is_from_solidarity_economy } + self.inputs.each{ |i| t_i += 1; se_i += 1 if i.is_from_solidarity_economy } t_i = 1 if t_i == 0 # avoid division by 0 p = case (se_i.to_f/t_i)*100 when 0 then [0, ''] diff --git a/test/unit/product_test.rb b/test/unit/product_test.rb index ab8fde7..a4f2d0d 100644 --- a/test/unit/product_test.rb +++ b/test/unit/product_test.rb @@ -480,31 +480,31 @@ class ProductTest < ActiveSupport::TestCase prod = fast_create(Product, :name => 'test product1', :product_category_id => @product_category.id, :profile_id => @profile.id) assert_equal 0, prod.percentage_from_solidarity_economy.first - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => false) assert_equal 0, prod.percentage_from_solidarity_economy.first - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => true) assert_equal 50, prod.percentage_from_solidarity_economy.first - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => false) assert_equal 25, prod.percentage_from_solidarity_economy.first - prod = fast_create(Product, :name => 'test product1', :product_category_id => @product_category.id, :profile_id => @profile.id) - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod = fast_create(Product, :name => 'test product1', :product_category_id => @product_category.id, :enterprise_id => @profile.id) + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => true) - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => true) - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => true) - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => false) assert_equal 75, prod.percentage_from_solidarity_economy.first - prod = fast_create(Product, :name => 'test product', :product_category_id => @product_category.id, :profile_id => @profile.id) - create(Input, :product_id => prod.id, :product_category_id => @product_category.id, + prod = fast_create(Product, :name => 'test product', :product_category_id => @product_category.id, :enterprise_id => @profile.id) + prod.inputs.create!(:product_id => prod.id, :product_category_id => @product_category.id, :amount_used => 10, :price_per_unit => 10, :is_from_solidarity_economy => true) assert_equal 100, prod.percentage_from_solidarity_economy.first end -- libgit2 0.21.2