Sha256: 57b256d2c57e9ae7e20c314a89f8f678da55d65b90c2a112c2b91a3ffb9eddd4

Contents?: true

Size: 1.29 KB

Versions: 38

Compression:

Stored size: 1.29 KB

Contents

require 'spec_helper'

module Spree

  describe DisplayMoney do
    let(:test_class) do
      Class.new do
        extend DisplayMoney
        def total; 10.0; end
      end
    end

    describe ".money_methods" do
      before { test_class.money_methods :total }

      context "currency is not defined" do
        it "generates a display_method that builds a Spree::Money without options" do
          expect(test_class.new.display_total).to eq Spree::Money.new(10.0)
        end
      end

      context "currency is defined" do
        before { test_class.class_eval { def currency; "USD"; end } }

        it "generates a display_* method that builds a Spree::Money with currency" do
          expect(test_class.new.display_total).to eq Spree::Money.new(10.0, currency: "USD")
        end
      end

      context "with multiple + options" do
        before do
          test_class.class_eval { def amount; 20.0; end }
          test_class.money_methods :total, amount: { no_cents: true }
        end

        it "generates a display_* method that builds a Spree::Money with the specified options" do
          expect(test_class.new.display_total).to eq Spree::Money.new(10.0)
          expect(test_class.new.display_amount).to eq Spree::Money.new(20.0, no_cents: true)
        end
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 2 rubygems

Version Path
solidus_core-1.2.3 spec/models/spree/concerns/display_money_spec.rb
solidus_core-1.1.4 spec/models/spree/concerns/display_money_spec.rb
solidus_core-1.0.7 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.3.0.rc1 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.5 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.2.1 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.2.0 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.4 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.2.0.rc3 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.2.0.rc2 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.2.0.rc1 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.3 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.2 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.0.10 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.1 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.0 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.0.rc4 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.0.9 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.0.rc3 spec/models/spree/concerns/display_money_spec.rb
spree_core-3.1.0.rc2 spec/models/spree/concerns/display_money_spec.rb