Sha256: 3697779d3d09dc014c238623cf6200ca543cf5ac5eb8223818fa0eaf56559292

Contents?: true

Size: 1.58 KB

Versions: 9

Compression:

Stored size: 1.58 KB

Contents

require 'test_helper'

module PolishInvoicer
  class PresenterTest < Minitest::Test
    require 'ostruct'

    def setup
      @invoice = OpenStruct.new
    end

    def test_format_dates
      @invoice.trade_date = Date.parse('2014-01-01')
      @invoice.create_date = Date.parse('2014-01-15')
      @invoice.payment_date = Date.parse('2014-01-30')
      data = Presenter.new(@invoice).data
      assert_equal '01.01.2014', data[:trade_date]
      assert_equal '15.01.2014', data[:create_date]
      assert_equal '30.01.2014', data[:payment_date]
    end

    def test_format_prices
      @invoice.net_value = 123.4567
      @invoice.vat_value = 23.9876
      @invoice.gross_value = 456.3378
      data = Presenter.new(@invoice).data
      assert_equal '123,46', data[:net_value]
      assert_equal '23,99', data[:vat_value]
      assert_equal '456,34', data[:gross_value]
    end

    def test_format_comments
      @invoice.comments = nil
      data = Presenter.new(@invoice).data
      assert_equal [], data[:comments]
      @invoice.comments = 'Test'
      data = Presenter.new(@invoice).data
      assert_equal ['Test'], data[:comments]
      @invoice.comments = %w[A B]
      data = Presenter.new(@invoice).data
      assert_equal %w[A B], data[:comments]
    end

    def test_vat
      @invoice.vat = 23
      data = Presenter.new(@invoice).data
      assert_equal '23%', data[:vat]
      @invoice.vat = 0
      data = Presenter.new(@invoice).data
      assert_equal '0%', data[:vat]
      @invoice.vat = -1
      data = Presenter.new(@invoice).data
      assert_equal 'zw.', data[:vat]
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
polish_invoicer-0.0.26 test/presenter_test.rb
polish_invoicer-0.0.25 test/presenter_test.rb
polish_invoicer-0.0.24 test/presenter_test.rb
polish_invoicer-0.0.23 test/presenter_test.rb
polish_invoicer-0.0.22 test/presenter_test.rb
polish_invoicer-0.0.21 test/presenter_test.rb
polish_invoicer-0.0.20 test/presenter_test.rb
polish_invoicer-0.0.19 test/presenter_test.rb
polish_invoicer-0.0.18 test/presenter_test.rb