Avatax_TaxService 1.0.14 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,122 +1,122 @@
1
- require "spec_helper"
2
-
3
- describe "GetTaxHistory" do
4
- before :each do
5
- credentials = YAML::load(File.open('credentials.yml'))
6
- @creds = {:username => credentials['username'],
7
- :password => credentials['password'],
8
- :clientname => credentials['clientname'],
9
- :use_production_url => credentials['production']}
10
- @svc = AvaTax::TaxService.new(@creds)
11
- @get_tax_request = {
12
- :doctype => "SalesInvoice",
13
- :commit => false,
14
- :detaillevel => "Tax",
15
- :docdate=>DateTime.now.strftime("%Y-%m-%d"),
16
- :customercode => "CUST123",
17
- :origincode => "456",
18
- :destinationcode => "456",
19
- :addresses=>[{
20
- :addresscode=>"456",
21
- :line1=>"7070 West Arlington Drive",
22
- :postalcode=>"80123",
23
- :country=>"US",
24
- }],
25
- :lines=>[{
26
- :no=>"1",
27
- :itemcode=>"Canoe",
28
- :qty=>"1",
29
- :amount=>"300.43",
30
- :description=>"Blue canoe",
31
- }]}
32
- @get_tax_result = @svc.gettax(@get_tax_request)
33
- @request_required = {
34
- :companycode => @get_tax_result[:company_code],
35
- :doctype => @get_tax_result[:doc_type],
36
- :doccode => @get_tax_result[:doc_code],
37
- }
38
- @request_optional = {
39
- :docid => @get_tax_result[:doc_id],
40
- :detaillevel => "Tax",
41
- }
42
- end
43
-
44
- describe "returns a meaningful" do
45
- it "error when URL is missing" do
46
- @creds[:use_production_url] = nil
47
- @service = AvaTax::TaxService.new(@creds)
48
- @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
49
- end
50
- it "success when URL is specified" do
51
- @creds[:use_production_url] = false
52
- @service = AvaTax::TaxService.new(@creds)
53
- @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
54
- end
55
- it "error when username is missing" do
56
- @creds[:username] = nil
57
- @service = AvaTax::TaxService.new(@creds)
58
- @service.gettaxhistory(@request_required)[:result_code].should eql "Error"
59
- end
60
- it "error when password is omitted" do
61
- @creds[:password] = nil
62
- @service = AvaTax::TaxService.new(@creds)
63
- @service.gettaxhistory(@request_required)[:result_code].should eql "Error"
64
- end
65
- it "success when clientname is omitted" do
66
- @creds[:clientname] = nil
67
- @service = AvaTax::TaxService.new(@creds)
68
- @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
69
- end
70
- end
71
-
72
- describe "has consistent formatting for" do
73
- it "server-side errors" do
74
- @creds[:password] = nil
75
- @service = AvaTax::TaxService.new(@creds)
76
- @result = @service.gettaxhistory(@request_required)
77
- @result[:result_code].should eql "Error" and
78
- @result[:messages].kind_of?(Array).should eql true and
79
- @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
80
- end
81
- it "successful results" do
82
- @service = AvaTax::TaxService.new(@creds)
83
- @result = @service.gettaxhistory(@request_required)
84
- @result[:result_code].should eql "Success" and @result[:transaction_id].should_not be_nil
85
- end
86
- end
87
- describe "requests with" do
88
- it "missing required parameters fail" do
89
- @service = AvaTax::TaxService.new(@creds)
90
- @result = @service.gettaxhistory(@request_optional)
91
- @result[:result_code].should eql "Error"
92
- end
93
- it "invalid parameters should ignore them" do
94
- @service = AvaTax::TaxService.new(@creds)
95
- @request_required[:bogus] = "data"
96
- @result = @service.gettaxhistory(@request_required)
97
- @result[:result_code].should eql "Success"
98
- end
99
- it "missing optional parameters succeed" do
100
- @service = AvaTax::TaxService.new(@creds)
101
- @result = @service.gettaxhistory(@request_required)
102
- @result[:result_code].should eql "Success"
103
- end
104
- it "all parameters succeed" do
105
- @service = AvaTax::TaxService.new(@creds)
106
- @result = @service.gettaxhistory(@request_required.merge(@request_optional))
107
- @result[:result_code].should eql "Success"
108
- end
109
- end
110
- describe "workflow" do
111
- it "should retrieve existing documents" do
112
- @result = @svc.gettaxhistory(@request_required)
113
- @result[:result_code].should eql "Success"
114
- end
115
- it "should return a meaningful error for documents that do not exist" do
116
- @request_required[:companycode] = "XXXXXXXXXXXXXXX"
117
- @result = @svc.gettaxhistory(@request_required)
118
- @result[:result_code].should eql "Error"
119
- end
120
- end
121
-
1
+ require "spec_helper"
2
+
3
+ describe "GetTaxHistory" do
4
+ before :each do
5
+ credentials = YAML::load(File.open('credentials.yml'))
6
+ @creds = {:username => credentials['username'],
7
+ :password => credentials['password'],
8
+ :clientname => credentials['clientname'],
9
+ :use_production_url => credentials['production']}
10
+ @svc = AvaTax::TaxService.new(@creds)
11
+ @get_tax_request = {
12
+ :doctype => "SalesInvoice",
13
+ :commit => false,
14
+ :detaillevel => "Tax",
15
+ :docdate=>DateTime.now.strftime("%Y-%m-%d"),
16
+ :customercode => "CUST123",
17
+ :origincode => "456",
18
+ :destinationcode => "456",
19
+ :addresses=>[{
20
+ :addresscode=>"456",
21
+ :line1=>"7070 West Arlington Drive",
22
+ :postalcode=>"80123",
23
+ :country=>"US",
24
+ }],
25
+ :lines=>[{
26
+ :no=>"1",
27
+ :itemcode=>"Canoe",
28
+ :qty=>"1",
29
+ :amount=>"300.43",
30
+ :description=>"Blue canoe",
31
+ }]}
32
+ @get_tax_result = @svc.gettax(@get_tax_request)
33
+ @request_required = {
34
+ :companycode => @get_tax_result[:company_code],
35
+ :doctype => @get_tax_result[:doc_type],
36
+ :doccode => @get_tax_result[:doc_code],
37
+ }
38
+ @request_optional = {
39
+ :docid => @get_tax_result[:doc_id],
40
+ :detaillevel => "Tax",
41
+ }
42
+ end
43
+
44
+ describe "returns a meaningful" do
45
+ it "error when URL is missing" do
46
+ @creds[:use_production_url] = nil
47
+ @service = AvaTax::TaxService.new(@creds)
48
+ @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
49
+ end
50
+ it "success when URL is specified" do
51
+ @creds[:use_production_url] = false
52
+ @service = AvaTax::TaxService.new(@creds)
53
+ @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
54
+ end
55
+ it "error when username is missing" do
56
+ @creds[:username] = nil
57
+ @service = AvaTax::TaxService.new(@creds)
58
+ @service.gettaxhistory(@request_required)[:result_code].should eql "Error"
59
+ end
60
+ it "error when password is omitted" do
61
+ @creds[:password] = nil
62
+ @service = AvaTax::TaxService.new(@creds)
63
+ @service.gettaxhistory(@request_required)[:result_code].should eql "Error"
64
+ end
65
+ it "success when clientname is omitted" do
66
+ @creds[:clientname] = nil
67
+ @service = AvaTax::TaxService.new(@creds)
68
+ @service.gettaxhistory(@request_required)[:result_code].should eql "Success"
69
+ end
70
+ end
71
+
72
+ describe "has consistent formatting for" do
73
+ it "server-side errors" do
74
+ @creds[:password] = nil
75
+ @service = AvaTax::TaxService.new(@creds)
76
+ @result = @service.gettaxhistory(@request_required)
77
+ @result[:result_code].should eql "Error" and
78
+ @result[:messages].kind_of?(Array).should eql true and
79
+ @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
80
+ end
81
+ it "successful results" do
82
+ @service = AvaTax::TaxService.new(@creds)
83
+ @result = @service.gettaxhistory(@request_required)
84
+ @result[:result_code].should eql "Success" and @result[:transaction_id].should_not be_nil
85
+ end
86
+ end
87
+ describe "requests with" do
88
+ it "missing required parameters fail" do
89
+ @service = AvaTax::TaxService.new(@creds)
90
+ @result = @service.gettaxhistory(@request_optional)
91
+ @result[:result_code].should eql "Error"
92
+ end
93
+ it "invalid parameters should ignore them" do
94
+ @service = AvaTax::TaxService.new(@creds)
95
+ @request_required[:bogus] = "data"
96
+ @result = @service.gettaxhistory(@request_required)
97
+ @result[:result_code].should eql "Success"
98
+ end
99
+ it "missing optional parameters succeed" do
100
+ @service = AvaTax::TaxService.new(@creds)
101
+ @result = @service.gettaxhistory(@request_required)
102
+ @result[:result_code].should eql "Success"
103
+ end
104
+ it "all parameters succeed" do
105
+ @service = AvaTax::TaxService.new(@creds)
106
+ @result = @service.gettaxhistory(@request_required.merge(@request_optional))
107
+ @result[:result_code].should eql "Success"
108
+ end
109
+ end
110
+ describe "workflow" do
111
+ it "should retrieve existing documents" do
112
+ @result = @svc.gettaxhistory(@request_required)
113
+ @result[:result_code].should eql "Success"
114
+ end
115
+ it "should return a meaningful error for documents that do not exist" do
116
+ @request_required[:companycode] = "XXXXXXXXXXXXXXX"
117
+ @result = @svc.gettaxhistory(@request_required)
118
+ @result[:result_code].should eql "Error"
119
+ end
120
+ end
121
+
122
122
  end
@@ -1,77 +1,77 @@
1
- require "spec_helper"
2
-
3
- describe "IsAuthorized" do
4
- before :each do
5
- credentials = YAML::load(File.open('credentials.yml'))
6
- @creds = {:username => credentials['username'],
7
- :password => credentials['password'],
8
- :clientname => credentials['clientname'],
9
- :use_production_url => credentials['production']}
10
- end
11
-
12
- describe "returns a meaningful" do
13
- it "error when URL is missing" do
14
- @creds[:use_production_url] = nil
15
- @service = AvaTax::TaxService.new(@creds)
16
- @service.isauthorized[:result_code].should eql "Success"
17
- end
18
- it "success when URL is specified" do
19
- @creds[:use_production_url] = false
20
- @service = AvaTax::TaxService.new(@creds)
21
- @service.isauthorized[:result_code].should eql "Success"
22
- end
23
- it "error when username is missing" do
24
- @creds[:username] = nil
25
- @service = AvaTax::TaxService.new(@creds)
26
- @service.isauthorized[:result_code].should eql "Error"
27
- end
28
- it "error when password is omitted" do
29
- @creds[:password] = nil
30
- @service = AvaTax::TaxService.new(@creds)
31
- @service.isauthorized[:result_code].should eql "Error"
32
- end
33
- it "success when clientname is omitted" do
34
- @creds[:clientname] = nil
35
- @service = AvaTax::TaxService.new(@creds)
36
- @service.isauthorized[:result_code].should eql "Success"
37
- end
38
- end
39
-
40
- describe "has consistent formatting for" do
41
- it "internal logic errors" do
42
- @service = AvaTax::TaxService.new(@creds)
43
- lambda { @service.isauthorized("param1","param2") }.should raise_exception
44
- end
45
- it "server-side errors" do
46
- @creds[:password] = nil
47
- @service = AvaTax::TaxService.new(@creds)
48
- @result = @service.isauthorized
49
- @result[:result_code].should eql "Error" and
50
- @result[:messages].kind_of?(Array).should eql true and
51
- @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
- end
53
- it "successful results" do
54
- @service = AvaTax::TaxService.new(@creds)
55
- @result = @service.isauthorized
56
- @result[:result_code].should eql "Success" and @result[:expires].should_not be_nil
57
- end
58
- end
59
- describe "requests with" do
60
- it "missing required parameters fail" do
61
- true #there are no required parameters for isauthorized
62
- end
63
- it "invalid parameters fail" do
64
- @service = AvaTax::TaxService.new(@creds)
65
- lambda { @service.isauthorized("param1","param2") }.should raise_exception
66
- end
67
- it "missing optional parameters succeed" do
68
- @service = AvaTax::TaxService.new(@creds)
69
- @service.isauthorized[:result_code].should eql "Success"
70
- end
71
- it "all parameters succeed" do
72
- @service = AvaTax::TaxService.new(@creds)
73
- @service.isauthorized("Message")[:result_code].should eql "Success"
74
- end
75
- end
76
-
1
+ require "spec_helper"
2
+
3
+ describe "IsAuthorized" do
4
+ before :each do
5
+ credentials = YAML::load(File.open('credentials.yml'))
6
+ @creds = {:username => credentials['username'],
7
+ :password => credentials['password'],
8
+ :clientname => credentials['clientname'],
9
+ :use_production_url => credentials['production']}
10
+ end
11
+
12
+ describe "returns a meaningful" do
13
+ it "error when URL is missing" do
14
+ @creds[:use_production_url] = nil
15
+ @service = AvaTax::TaxService.new(@creds)
16
+ @service.isauthorized[:result_code].should eql "Success"
17
+ end
18
+ it "success when URL is specified" do
19
+ @creds[:use_production_url] = false
20
+ @service = AvaTax::TaxService.new(@creds)
21
+ @service.isauthorized[:result_code].should eql "Success"
22
+ end
23
+ it "error when username is missing" do
24
+ @creds[:username] = nil
25
+ @service = AvaTax::TaxService.new(@creds)
26
+ @service.isauthorized[:result_code].should eql "Error"
27
+ end
28
+ it "error when password is omitted" do
29
+ @creds[:password] = nil
30
+ @service = AvaTax::TaxService.new(@creds)
31
+ @service.isauthorized[:result_code].should eql "Error"
32
+ end
33
+ it "success when clientname is omitted" do
34
+ @creds[:clientname] = nil
35
+ @service = AvaTax::TaxService.new(@creds)
36
+ @service.isauthorized[:result_code].should eql "Success"
37
+ end
38
+ end
39
+
40
+ describe "has consistent formatting for" do
41
+ it "internal logic errors" do
42
+ @service = AvaTax::TaxService.new(@creds)
43
+ lambda { @service.isauthorized("param1","param2") }.should raise_exception
44
+ end
45
+ it "server-side errors" do
46
+ @creds[:password] = nil
47
+ @service = AvaTax::TaxService.new(@creds)
48
+ @result = @service.isauthorized
49
+ @result[:result_code].should eql "Error" and
50
+ @result[:messages].kind_of?(Array).should eql true and
51
+ @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
+ end
53
+ it "successful results" do
54
+ @service = AvaTax::TaxService.new(@creds)
55
+ @result = @service.isauthorized
56
+ @result[:result_code].should eql "Success" and @result[:expires].should_not be_nil
57
+ end
58
+ end
59
+ describe "requests with" do
60
+ it "missing required parameters fail" do
61
+ true #there are no required parameters for isauthorized
62
+ end
63
+ it "invalid parameters fail" do
64
+ @service = AvaTax::TaxService.new(@creds)
65
+ lambda { @service.isauthorized("param1","param2") }.should raise_exception
66
+ end
67
+ it "missing optional parameters succeed" do
68
+ @service = AvaTax::TaxService.new(@creds)
69
+ @service.isauthorized[:result_code].should eql "Success"
70
+ end
71
+ it "all parameters succeed" do
72
+ @service = AvaTax::TaxService.new(@creds)
73
+ @service.isauthorized("Message")[:result_code].should eql "Success"
74
+ end
75
+ end
76
+
77
77
  end
data/spec/ping_spec.rb CHANGED
@@ -1,77 +1,77 @@
1
- require "spec_helper"
2
-
3
- describe "Ping" do
4
- before :each do
5
- credentials = YAML::load(File.open('credentials.yml'))
6
- @creds = {:username => credentials['username'],
7
- :password => credentials['password'],
8
- :clientname => credentials['clientname'],
9
- :use_production_url => credentials['production']}
10
- end
11
-
12
- describe "returns a meaningful" do
13
- it "error when URL is missing" do
14
- @creds[:use_production_url] = nil
15
- @service = AvaTax::TaxService.new(@creds)
16
- @service.ping[:result_code].should eql "Success"
17
- end
18
- it "success when URL is specified" do
19
- @creds[:use_production_url] = false
20
- @service = AvaTax::TaxService.new(@creds)
21
- @service.ping[:result_code].should eql "Success"
22
- end
23
- it "error when username is missing" do
24
- @creds[:username] = nil
25
- @service = AvaTax::TaxService.new(@creds)
26
- @service.ping[:result_code].should eql "Error"
27
- end
28
- it "error when password is omitted" do
29
- @creds[:password] = nil
30
- @service = AvaTax::TaxService.new(@creds)
31
- @service.ping[:result_code].should eql "Error"
32
- end
33
- it "success when clientname is omitted" do
34
- @creds[:clientname] = nil
35
- @service = AvaTax::TaxService.new(@creds)
36
- @service.ping[:result_code].should eql "Success"
37
- end
38
- end
39
-
40
- describe "has consistent formatting for" do
41
- it "internal logic errors" do
42
- @service = AvaTax::TaxService.new(@creds)
43
- lambda { @service.ping("param1","param2") }.should raise_exception
44
- end
45
- it "server-side errors" do
46
- @creds[:password] = nil
47
- @service = AvaTax::TaxService.new(@creds)
48
- @result = @service.ping
49
- @result[:result_code].should eql "Error" and
50
- @result[:messages].kind_of?(Array).should eql true and
51
- @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
- end
53
- it "successful results" do
54
- @service = AvaTax::TaxService.new(@creds)
55
- @result = @service.ping
56
- @result[:result_code].should eql "Success" and @result[:version].should_not be_nil
57
- end
58
- end
59
- describe "requests with" do
60
- it "missing required parameters fail" do
61
- true #there are no required parameters for ping
62
- end
63
- it "invalid parameters fail" do
64
- @service = AvaTax::TaxService.new(@creds)
65
- lambda { @service.ping("param1","param2") }.should raise_exception
66
- end
67
- it "missing optional parameters succeed" do
68
- @service = AvaTax::TaxService.new(@creds)
69
- @service.ping[:result_code].should eql "Success"
70
- end
71
- it "all parameters succeed" do
72
- @service = AvaTax::TaxService.new(@creds)
73
- @service.ping("Message")[:result_code].should eql "Success"
74
- end
75
- end
76
-
1
+ require "spec_helper"
2
+
3
+ describe "Ping" do
4
+ before :each do
5
+ credentials = YAML::load(File.open('credentials.yml'))
6
+ @creds = {:username => credentials['username'],
7
+ :password => credentials['password'],
8
+ :clientname => credentials['clientname'],
9
+ :use_production_url => credentials['production']}
10
+ end
11
+
12
+ describe "returns a meaningful" do
13
+ it "error when URL is missing" do
14
+ @creds[:use_production_url] = nil
15
+ @service = AvaTax::TaxService.new(@creds)
16
+ @service.ping[:result_code].should eql "Success"
17
+ end
18
+ it "success when URL is specified" do
19
+ @creds[:use_production_url] = false
20
+ @service = AvaTax::TaxService.new(@creds)
21
+ @service.ping[:result_code].should eql "Success"
22
+ end
23
+ it "error when username is missing" do
24
+ @creds[:username] = nil
25
+ @service = AvaTax::TaxService.new(@creds)
26
+ @service.ping[:result_code].should eql "Error"
27
+ end
28
+ it "error when password is omitted" do
29
+ @creds[:password] = nil
30
+ @service = AvaTax::TaxService.new(@creds)
31
+ @service.ping[:result_code].should eql "Error"
32
+ end
33
+ it "success when clientname is omitted" do
34
+ @creds[:clientname] = nil
35
+ @service = AvaTax::TaxService.new(@creds)
36
+ @service.ping[:result_code].should eql "Success"
37
+ end
38
+ end
39
+
40
+ describe "has consistent formatting for" do
41
+ it "internal logic errors" do
42
+ @service = AvaTax::TaxService.new(@creds)
43
+ lambda { @service.ping("param1","param2") }.should raise_exception
44
+ end
45
+ it "server-side errors" do
46
+ @creds[:password] = nil
47
+ @service = AvaTax::TaxService.new(@creds)
48
+ @result = @service.ping
49
+ @result[:result_code].should eql "Error" and
50
+ @result[:messages].kind_of?(Array).should eql true and
51
+ @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
52
+ end
53
+ it "successful results" do
54
+ @service = AvaTax::TaxService.new(@creds)
55
+ @result = @service.ping
56
+ @result[:result_code].should eql "Success" and @result[:version].should_not be_nil
57
+ end
58
+ end
59
+ describe "requests with" do
60
+ it "missing required parameters fail" do
61
+ true #there are no required parameters for ping
62
+ end
63
+ it "invalid parameters fail" do
64
+ @service = AvaTax::TaxService.new(@creds)
65
+ lambda { @service.ping("param1","param2") }.should raise_exception
66
+ end
67
+ it "missing optional parameters succeed" do
68
+ @service = AvaTax::TaxService.new(@creds)
69
+ @service.ping[:result_code].should eql "Success"
70
+ end
71
+ it "all parameters succeed" do
72
+ @service = AvaTax::TaxService.new(@creds)
73
+ @service.ping("Message")[:result_code].should eql "Success"
74
+ end
75
+ end
76
+
77
77
  end