From c4a85b71d7f76f81d0e90cf96fb9b9ec320d24f3 Mon Sep 17 00:00:00 2001 From: Michael Bianco Date: Fri, 30 Mar 2012 19:17:02 -0400 Subject: [PATCH] Updating all tests. All tests are passing --- app/models/spree/digital_link.rb | 5 ++++- app/models/spree/line_item_decorator.rb | 3 ++- spec/factories/digital_factory.rb | 2 +- spec/factories/digital_link_factory.rb | 2 +- spec/models/digital_link_spec.rb | 2 +- spec/models/digital_spec.rb | 2 +- spec/models/line_item_spec.rb | 3 ++- spec/models/order_spec.rb | 2 +- 8 files changed, 13 insertions(+), 8 deletions(-) diff --git a/app/models/spree/digital_link.rb b/app/models/spree/digital_link.rb index 797d9ba..7304fbb 100644 --- a/app/models/spree/digital_link.rb +++ b/app/models/spree/digital_link.rb @@ -3,7 +3,10 @@ module Spree belongs_to :digital belongs_to :line_item - + + validates_length_of :secret, :is => 30 + validates :digital, :presence => true + before_validation :set_defaults, :on => :create # Can this link stil be used? It is valid if it's less than 24 hours old and was not accessed more than 3 times diff --git a/app/models/spree/line_item_decorator.rb b/app/models/spree/line_item_decorator.rb index 73bcbfb..8d73a3e 100644 --- a/app/models/spree/line_item_decorator.rb +++ b/app/models/spree/line_item_decorator.rb @@ -1,6 +1,6 @@ Spree::LineItem.class_eval do - has_many :digital_links + has_many :digital_links, :dependent => :destroy after_save :create_digital_links, :if => :digital? @@ -14,6 +14,7 @@ Spree::LineItem.class_eval do # Create the download link for this item if it is digital. def create_digital_links digital_links.delete_all + self.quantity.times do digital_links.create!(:digital => variant.digital) end diff --git a/spec/factories/digital_factory.rb b/spec/factories/digital_factory.rb index 3c77261..1b029ca 100644 --- a/spec/factories/digital_factory.rb +++ b/spec/factories/digital_factory.rb @@ -1,3 +1,3 @@ -Factory.define :digital do |f| +Factory.define :digital, :class => Spree::Digital do |f| f.variant { |p| p.association(:variant) } end \ No newline at end of file diff --git a/spec/factories/digital_link_factory.rb b/spec/factories/digital_link_factory.rb index fea0395..140c644 100644 --- a/spec/factories/digital_link_factory.rb +++ b/spec/factories/digital_link_factory.rb @@ -1,4 +1,4 @@ -Factory.define :digital_link do |f| +Factory.define :digital_link, :class => Spree::DigitalLink do |f| f.digital { |p| p.association(:digital) } f.line_item { |p| p.association(:line_item) } end \ No newline at end of file diff --git a/spec/models/digital_link_spec.rb b/spec/models/digital_link_spec.rb index 1d4d18f..878644c 100644 --- a/spec/models/digital_link_spec.rb +++ b/spec/models/digital_link_spec.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe DigitalLink do +describe Spree::DigitalLink do context 'validation' do it { should belong_to(:digital) } diff --git a/spec/models/digital_spec.rb b/spec/models/digital_spec.rb index 9d7cb41..758d275 100644 --- a/spec/models/digital_spec.rb +++ b/spec/models/digital_spec.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe Digital do +describe Spree::Digital do context 'validation' do it { should belong_to(:variant) } diff --git a/spec/models/line_item_spec.rb b/spec/models/line_item_spec.rb index f0d6c8e..f6b27df 100644 --- a/spec/models/line_item_spec.rb +++ b/spec/models/line_item_spec.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe LineItem do +describe Spree::LineItem do context "#save" do it "should create one link for a single digital Variant" do @@ -17,6 +17,7 @@ describe LineItem do links = digital_variant.digital.digital_links links.all.size.should == 5 links.each { |link| link.line_item.should == line_item } + # quantity update line_item.quantity = 8 line_item.save diff --git a/spec/models/order_spec.rb b/spec/models/order_spec.rb index 4784f87..83eb072 100644 --- a/spec/models/order_spec.rb +++ b/spec/models/order_spec.rb @@ -1,6 +1,6 @@ require File.dirname(__FILE__) + '/../spec_helper' -describe Order do +describe Spree::Order do context 'validation' do it { should have_valid_factory(:order) }