Sha256: 6311d7e0bad35f7c2fde90100f633c2b50a28d86200c976c5abf016765e7196d

Contents?: true

Size: 1.49 KB

Versions: 1

Compression:

Stored size: 1.49 KB

Contents

require 'test_helper'

module Europe
  module Vat
    # ValidationTest
    class ValidationTest < Minitest::Test
      include Benchmark

      def setup
        WebMock.disable!
      end

      def test_validation_of_false_vat_number
        validate_false_vat = Europe::Vat.validate('NL123456789B01')
        assert_equal false, validate_false_vat[:valid]
      end

      def test_validation_of_correct_vat_number
        # PostNL
        validate_correct_vat = Europe::Vat.validate('NL009291477B01')
        assert validate_correct_vat[:valid] \
          unless validate_correct_vat == :failed

        # Sky
        validate_correct_vat = Europe::Vat.validate('GB440627467')
        assert validate_correct_vat[:valid] \
          unless validate_correct_vat == :failed

        # Volkswagen
        validate_correct_vat = Europe::Vat.validate('DE115235681')
        assert validate_correct_vat[:valid] \
          unless validate_correct_vat == :failed
      end

      def test_failed_request_to_soap_service
        WebMock.enable!
        stub_request(:any, 'http://ec.europa.eu/taxation_customs' \
                           '/vies/checkVatService.wsdl').to_timeout
        Europe::Vat.validate('DE115235681')

        stub_request(:get, 'http://ec.europa.eu/taxation_customs/vies/checkVatService.wsdl')
          .with(headers: { 'Accept' => '*/*', 'User-Agent' => 'Ruby' })
          .to_return(status: 421, body: '')
        Europe::Vat.validate('DE115235681')
        WebMock.disable!
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
europe-0.0.5 test/europe/vat/validation_test.rb