Sha256: a491482cef0c1a3d207b9f01ab680819b9928af0815bbb89cfcb26fc25a2cc0d

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

require 'spec_helper'

describe Promotion::Rules::ItemTotal do
  let(:rule) { Promotion::Rules::ItemTotal.new }
  let(:order) { mock_model(Order, :user => nil) }

  before { rule.preferred_amount = 50 }

  context "preferred operator set to gt" do
    before { rule.preferred_operator = 'gt' }

    it "should be eligible when item total is greater than preferred amount" do
      order.stub(:item_total => 51)
      rule.should be_eligible(order)
    end

    it "should not be eligible when item total is equal to preferred amount" do
      order.stub(:item_total => 50)
      rule.should_not be_eligible(order)
    end

    it "should not be eligible when item total is lower than to preferred amount" do
      order.stub(:item_total => 49)
      rule.should_not be_eligible(order)
    end
  end

  context "preferred operator set to gte" do
    before { rule.preferred_operator = 'gte' }

    it "should be eligible when item total is greater than preferred amount" do
      order.stub(:item_total => 51)
      rule.should be_eligible(order)
    end

    it "should be eligible when item total is equal to preferred amount" do
      order.stub(:item_total => 50)
      rule.should be_eligible(order)
    end

    it "should not be eligible when item total is lower than to preferred amount" do
      order.stub(:item_total => 49)
      rule.should_not be_eligible(order)
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
MyCommerceapi-1.0.0 promo/spec/models/promotion/rules/item_total_spec.rb
MyCommerce-0.0.3 promo/spec/models/promotion/rules/item_total_spec.rb