Sha256: 2618ffff8f627aa5ff5700d4292709e2aa93abb77bb79f2dc1b9e2d31bcfccfb

Contents?: true

Size: 1.29 KB

Versions: 11

Compression:

Stored size: 1.29 KB

Contents

require 'rails_helper'

module Spree
  RSpec.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

11 entries across 11 versions & 1 rubygems

Version Path
solidus_core-2.5.2 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.5.1 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.5.0 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.5.0.rc1 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.5.0.beta2 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.5.0.beta1 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.4.2 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.4.1 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.4.0 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.4.0.rc1 spec/models/spree/concerns/display_money_spec.rb
solidus_core-2.4.0.beta1 spec/models/spree/concerns/display_money_spec.rb