Sha256: c1e8d6c635c206253bbd80d065090070278d28b5d554d1f5036274af6642f122

Contents?: true

Size: 1.13 KB

Versions: 5

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper.rb'

describe Canmoia::Order do

  it 'should include Camnoia::Order module ' do
    order = Fabricate :order
    order.class.included_modules.should include Canmoia::Order
  end

  it 'should define core domain states for a Order' do
    order = Fabricate :order # Order class must include Canmoia::Order
    order.should respond_to :opened?
    order.should respond_to :reviewing?
    order.should respond_to :accepted?
    order.should respond_to :rejected?
    order.should respond_to :canceled?
    order.should respond_to :completed?
  end

  it 'should compute total value in opened state ' do
    order = Fabricate :order
    first_item = order.items.first

    order.items.sum(&:value).should == order.total

    first_item.value += 1

    order.items.sum(&:value).should == order.total + 1
  end

  it 'should not compute total value after opened state' do
    order = Fabricate :order
    first_item = order.items.first

    order.close!

    closed_total = order.total

    first_item.value += 1

    order.total.should == closed_total
  end

  # it 'should ignore workflow_column call if workflow_column already called'
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
canmoia-0.1.0 spec/concerns/order_spec.rb
canmoia-0.0.4 spec/concerns/order_spec.rb
canmoia-0.0.3 spec/concerns/order_spec.rb
canmoia-0.0.2 spec/concerns/order_spec.rb
canmoia-0.0.1 spec/concerns/order_spec.rb