spec/valvat/lookup_spec.rb in valvat-0.4.1 vs spec/valvat/lookup_spec.rb in valvat-0.4.2
- old
+ new
@@ -1,9 +1,9 @@
require 'spec_helper'
describe Valvat::Lookup do
- context "#validate" do
+ describe "#validate" do
context "existing vat number" do
it "returns true" do
Valvat::Lookup.validate("BE0817331995").should eql(true)
end
@@ -25,58 +25,74 @@
it "returns false" do
Valvat::Lookup.validate("AE259597697").should eql(false)
Valvat::Lookup.validate("").should eql(false)
end
end
-
+
context "with details" do
it "returns hash of details instead of true" do
Valvat::Lookup.validate("IE6388047V", :detail => true).should eql({
- :country_code=>"IE",
- :vat_number=>"6388047V",
- :request_date=> Date.today,
- :name=>"GOOGLE IRELAND LIMITED",
+ :country_code=>"IE",
+ :vat_number=>"6388047V",
+ :request_date=> Date.today,
+ :name=>"GOOGLE IRELAND LIMITED",
:address=>"1ST & 2ND FLOOR ,GORDON HOUSE ,BARROW STREET ,DUBLIN 4"
})
-
+
Valvat::Lookup.validate("LU21416127", :detail => true).should eql({
- :country_code=>"LU",
- :vat_number=>"21416127",
- :request_date=> Date.today,
- :name=>"EBAY EUROPE S.A R.L.",
+ :country_code=>"LU",
+ :vat_number=>"21416127",
+ :request_date=> Date.today,
+ :name=>"EBAY EUROPE S.A R.L.",
:address=>"22, BOULEVARD ROYAL\nL-2449 LUXEMBOURG"
})
end
-
+
it "still returns false on not existing vat number" do
Valvat::Lookup.validate("BE08173319921", :detail => true).should eql(false)
end
end
-
+
context "with request identifier" do
it "returns hash of details instead of true" do
response = Valvat::Lookup.validate("LU21416127", :requester_vat => "IE6388047V")
response[:request_identifier].size.should eql(16)
response[:request_identifier] = "some_uniq_string"
response.should eql({
- :country_code=>"LU",
- :vat_number=>"21416127",
- :request_date=> Date.today,
- :name => "EBAY EUROPE S.A R.L.",
+ :country_code=>"LU",
+ :vat_number=>"21416127",
+ :request_date=> Date.today,
+ :name => "EBAY EUROPE S.A R.L.",
:address => "22, BOULEVARD ROYAL\nL-2449 LUXEMBOURG",
:company_type => nil,
:request_identifier => "some_uniq_string"
})
end
end
+ context "error on request" do
+ before do
+ @request = mock("request")
+ Valvat::Lookup::Request.stub(:new => @request)
+ @request.stub(:perform).and_raise(ArgumentError.new)
+ end
+
+ it "should return nil" do
+ Valvat::Lookup.validate("LU21416127").should eql(nil)
+ end
+
+ it "should raise error with raise_error option" do
+ lambda {Valvat::Lookup.validate("LU21416127", :raise_error => true)}.should raise_error(ArgumentError)
+ end
+ end
+
# TODO : Reactivate with coorect "down" response
# context "country web service down" do
# before do
# json = "{\"error_message\": \"Member State service unavailable.\", \"error_code\": 1, \"error\": true}"
# FakeWeb.register_uri(:get, "http://isvat.appspot.com/DE/259597697/", :body => json)
# end if $fakeweb
- #
+
# it "returns nil" do
# Valvat::Lookup.validate("DE259597697").should eql(nil)
# end
# end
end