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,150 +1,150 @@
1
- require "spec_helper"
2
-
3
- describe "CancelTax" 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
- :cancelcode => "DocVoided",
38
- }
39
- @request_optional = {
40
- :docid => @get_tax_result[:doc_id]
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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@request_optional)
91
- @result[:result_code].should eql "Error"
92
- end
93
- it "invalid parameters ignore them" do
94
- @service = AvaTax::TaxService.new(@creds)
95
- @request_required[:bogus] = "data"
96
- @result = @service.canceltax(@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.canceltax(@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.canceltax(@request_required.merge(@request_optional))
107
- @result[:result_code].should eql "Success"
108
- end
109
- end
110
- describe "workflow" do
111
- it "should not change the status when cancel code is unspecified" do
112
- @request_required[:cancelcode] = "Unspecified"
113
- @result = @svc.canceltax(@request_required)
114
- @history_request = {
115
- :doccode => @request_required[:doccode],
116
- :companycode => @request_required[:companycode],
117
- :doctype => @request_required[:doctype],
118
- }
119
- @history_result = @svc.gettaxhistory(@history_request)
120
- @result[:result_code].should eql "Success" and
121
- @history_result[:get_tax_result][:doc_status].should eql "Saved"
122
- end
123
- it "should void documents when cancel code is DocVoided" do
124
- @request_required[:cancelcode] = "DocVoided"
125
- @result = @svc.canceltax(@request_required)
126
- @history_request = {
127
- :doccode => @request_required[:doccode],
128
- :companycode => @request_required[:companycode],
129
- :doctype => @request_required[:doctype],
130
- }
131
- @history_result = @svc.gettaxhistory(@history_request)
132
- @result[:result_code].should eql "Success" and
133
- @history_result[:get_tax_result][:doc_status].should eql "Cancelled"
134
- end
135
- it "should delete uncommitted/voided documents when cancel code is DocDeleted" do\
136
- @request_required[:cancelcode] = "DocDeleted"
137
- @result = @svc.canceltax(@request_required)
138
- @history_request = {
139
- :doccode => @request_required[:doccode],
140
- :companycode => @request_required[:companycode],
141
- :doctype => @request_required[:doctype],
142
- }
143
- @history_result = @svc.gettaxhistory(@history_request)
144
- @result[:result_code].should eql "Success" and
145
- @history_result[:result_code].should eql "Error"
146
- end
147
-
148
- end
149
-
1
+ require "spec_helper"
2
+
3
+ describe "CancelTax" 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
+ :cancelcode => "DocVoided",
38
+ }
39
+ @request_optional = {
40
+ :docid => @get_tax_result[:doc_id]
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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@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.canceltax(@request_optional)
91
+ @result[:result_code].should eql "Error"
92
+ end
93
+ it "invalid parameters ignore them" do
94
+ @service = AvaTax::TaxService.new(@creds)
95
+ @request_required[:bogus] = "data"
96
+ @result = @service.canceltax(@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.canceltax(@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.canceltax(@request_required.merge(@request_optional))
107
+ @result[:result_code].should eql "Success"
108
+ end
109
+ end
110
+ describe "workflow" do
111
+ it "should not change the status when cancel code is unspecified" do
112
+ @request_required[:cancelcode] = "Unspecified"
113
+ @result = @svc.canceltax(@request_required)
114
+ @history_request = {
115
+ :doccode => @request_required[:doccode],
116
+ :companycode => @request_required[:companycode],
117
+ :doctype => @request_required[:doctype],
118
+ }
119
+ @history_result = @svc.gettaxhistory(@history_request)
120
+ @result[:result_code].should eql "Success" and
121
+ @history_result[:get_tax_result][:doc_status].should eql "Saved"
122
+ end
123
+ it "should void documents when cancel code is DocVoided" do
124
+ @request_required[:cancelcode] = "DocVoided"
125
+ @result = @svc.canceltax(@request_required)
126
+ @history_request = {
127
+ :doccode => @request_required[:doccode],
128
+ :companycode => @request_required[:companycode],
129
+ :doctype => @request_required[:doctype],
130
+ }
131
+ @history_result = @svc.gettaxhistory(@history_request)
132
+ @result[:result_code].should eql "Success" and
133
+ @history_result[:get_tax_result][:doc_status].should eql "Cancelled"
134
+ end
135
+ it "should delete uncommitted/voided documents when cancel code is DocDeleted" do\
136
+ @request_required[:cancelcode] = "DocDeleted"
137
+ @result = @svc.canceltax(@request_required)
138
+ @history_request = {
139
+ :doccode => @request_required[:doccode],
140
+ :companycode => @request_required[:companycode],
141
+ :doctype => @request_required[:doctype],
142
+ }
143
+ @history_result = @svc.gettaxhistory(@history_request)
144
+ @result[:result_code].should eql "Success" and
145
+ @history_result[:result_code].should eql "Error"
146
+ end
147
+
148
+ end
149
+
150
150
  end
@@ -1,147 +1,147 @@
1
- require "spec_helper"
2
-
3
- describe "CommitTax" 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
- @post_tax_request = {
34
- :companycode => @get_tax_result[:company_code],
35
- :doctype => @get_tax_result[:doc_type],
36
- :doccode => @get_tax_result[:doc_code],
37
- :commit => false,
38
- :docdate => @get_tax_result[:doc_date],
39
- :totalamount => @get_tax_result[:total_amount],
40
- :totaltax => @get_tax_result[:total_tax],
41
- }
42
- @post_tax_result = @svc.posttax(@post_tax_request)
43
- @request_required = {
44
- :companycode => @get_tax_result[:company_code],
45
- :doctype => @get_tax_result[:doc_type],
46
- :doccode => @get_tax_result[:doc_code],
47
- }
48
- @request_optional = {
49
- :docid => @get_tax_result[:doc_id],
50
- :newdoccode => "new doc code: "+ @get_tax_result[:doc_code],
51
- }
52
-
53
- end
54
-
55
- describe "returns a meaningful" do
56
- it "error when URL is missing" do
57
- @creds[:use_production_url] = nil
58
- @service = AvaTax::TaxService.new(@creds)
59
- @service.committax(@request_required)[:result_code].should eql "Success"
60
- end
61
- it "success when URL is specified" do
62
- @creds[:use_production_url] = false
63
- @service = AvaTax::TaxService.new(@creds)
64
- @service.committax(@request_required)[:result_code].should eql "Success"
65
- end
66
- it "error when username is missing" do
67
- @creds[:username] = nil
68
- @service = AvaTax::TaxService.new(@creds)
69
- @service.committax(@request_required)[:result_code].should eql "Error"
70
- end
71
- it "error when password is omitted" do
72
- @creds[:password] = nil
73
- @service = AvaTax::TaxService.new(@creds)
74
- @service.committax(@request_required)[:result_code].should eql "Error"
75
- end
76
- it "success when clientname is omitted" do
77
- @creds[:clientname] = nil
78
- @service = AvaTax::TaxService.new(@creds)
79
- @service.committax(@request_required)[:result_code].should eql "Success"
80
- end
81
- end
82
-
83
- describe "has consistent formatting for" do
84
- it "server-side errors" do
85
- @creds[:password] = nil
86
- @service = AvaTax::TaxService.new(@creds)
87
- @result = @service.committax(@request_required)
88
- @result[:result_code].should eql "Error" and
89
- @result[:messages].kind_of?(Array).should eql true and
90
- @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
91
- end
92
- it "successful results" do
93
- @service = AvaTax::TaxService.new(@creds)
94
- @result = @service.committax(@request_required)
95
- @result[:result_code].should eql "Success" and @result[:transaction_id].should_not be_nil
96
- end
97
- end
98
- describe "requests with" do
99
- it "missing required parameters fail" do
100
- @service = AvaTax::TaxService.new(@creds)
101
- @result = @service.committax(@request_optional)
102
- @result[:result_code].should eql "Error"
103
- end
104
- it "invalid parameters ignore them" do
105
- @service = AvaTax::TaxService.new(@creds)
106
- @request_required[:bogus] = "data"
107
- @result = @service.committax(@request_required)
108
- @result[:result_code].should eql "Success"
109
- end
110
- it "missing optional parameters succeed" do
111
- @service = AvaTax::TaxService.new(@creds)
112
- @result = @service.committax(@request_required)
113
- @result[:result_code].should eql "Success"
114
- end
115
- it "all parameters succeed" do
116
- @service = AvaTax::TaxService.new(@creds)
117
- @result = @service.committax(@request_required.merge(@request_optional))
118
- @result[:result_code].should eql "Success"
119
- end
120
- end
121
- describe "workflow" do
122
- it "should be able to commit posted transactions" do
123
- @result = @svc.committax(@request_required)
124
- @history_request = {
125
- :doccode => @request_required[:doccode],
126
- :companycode => @request_required[:companycode],
127
- :doctype => @request_required[:doctype],
128
- }
129
- @history_result = @svc.gettaxhistory(@history_request)
130
- @result[:result_code].should eql "Success" and
131
- @history_result[:get_tax_result][:doc_status].should eql "Committed"
132
- end
133
- it "should be able to change the doccode" do
134
- @result = @svc.committax(@request_required.merge(@request_optional))
135
- @history_request = {
136
- :doccode => @request_optional[:newdoccode],
137
- :companycode => @request_required[:companycode],
138
- :doctype => @request_required[:doctype],
139
- }
140
- @history_result = @svc.gettaxhistory(@history_request)
141
- @result[:result_code].should eql "Success" and
142
- @history_result[:get_tax_result][:doc_status].should eql "Committed"
143
-
144
- end
145
- end
146
-
1
+ require "spec_helper"
2
+
3
+ describe "CommitTax" 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
+ @post_tax_request = {
34
+ :companycode => @get_tax_result[:company_code],
35
+ :doctype => @get_tax_result[:doc_type],
36
+ :doccode => @get_tax_result[:doc_code],
37
+ :commit => false,
38
+ :docdate => @get_tax_result[:doc_date],
39
+ :totalamount => @get_tax_result[:total_amount],
40
+ :totaltax => @get_tax_result[:total_tax],
41
+ }
42
+ @post_tax_result = @svc.posttax(@post_tax_request)
43
+ @request_required = {
44
+ :companycode => @get_tax_result[:company_code],
45
+ :doctype => @get_tax_result[:doc_type],
46
+ :doccode => @get_tax_result[:doc_code],
47
+ }
48
+ @request_optional = {
49
+ :docid => @get_tax_result[:doc_id],
50
+ :newdoccode => "new doc code: "+ @get_tax_result[:doc_code],
51
+ }
52
+
53
+ end
54
+
55
+ describe "returns a meaningful" do
56
+ it "error when URL is missing" do
57
+ @creds[:use_production_url] = nil
58
+ @service = AvaTax::TaxService.new(@creds)
59
+ @service.committax(@request_required)[:result_code].should eql "Success"
60
+ end
61
+ it "success when URL is specified" do
62
+ @creds[:use_production_url] = false
63
+ @service = AvaTax::TaxService.new(@creds)
64
+ @service.committax(@request_required)[:result_code].should eql "Success"
65
+ end
66
+ it "error when username is missing" do
67
+ @creds[:username] = nil
68
+ @service = AvaTax::TaxService.new(@creds)
69
+ @service.committax(@request_required)[:result_code].should eql "Error"
70
+ end
71
+ it "error when password is omitted" do
72
+ @creds[:password] = nil
73
+ @service = AvaTax::TaxService.new(@creds)
74
+ @service.committax(@request_required)[:result_code].should eql "Error"
75
+ end
76
+ it "success when clientname is omitted" do
77
+ @creds[:clientname] = nil
78
+ @service = AvaTax::TaxService.new(@creds)
79
+ @service.committax(@request_required)[:result_code].should eql "Success"
80
+ end
81
+ end
82
+
83
+ describe "has consistent formatting for" do
84
+ it "server-side errors" do
85
+ @creds[:password] = nil
86
+ @service = AvaTax::TaxService.new(@creds)
87
+ @result = @service.committax(@request_required)
88
+ @result[:result_code].should eql "Error" and
89
+ @result[:messages].kind_of?(Array).should eql true and
90
+ @result[:messages][0].should include(:details => "The user or account could not be authenticated.")
91
+ end
92
+ it "successful results" do
93
+ @service = AvaTax::TaxService.new(@creds)
94
+ @result = @service.committax(@request_required)
95
+ @result[:result_code].should eql "Success" and @result[:transaction_id].should_not be_nil
96
+ end
97
+ end
98
+ describe "requests with" do
99
+ it "missing required parameters fail" do
100
+ @service = AvaTax::TaxService.new(@creds)
101
+ @result = @service.committax(@request_optional)
102
+ @result[:result_code].should eql "Error"
103
+ end
104
+ it "invalid parameters ignore them" do
105
+ @service = AvaTax::TaxService.new(@creds)
106
+ @request_required[:bogus] = "data"
107
+ @result = @service.committax(@request_required)
108
+ @result[:result_code].should eql "Success"
109
+ end
110
+ it "missing optional parameters succeed" do
111
+ @service = AvaTax::TaxService.new(@creds)
112
+ @result = @service.committax(@request_required)
113
+ @result[:result_code].should eql "Success"
114
+ end
115
+ it "all parameters succeed" do
116
+ @service = AvaTax::TaxService.new(@creds)
117
+ @result = @service.committax(@request_required.merge(@request_optional))
118
+ @result[:result_code].should eql "Success"
119
+ end
120
+ end
121
+ describe "workflow" do
122
+ it "should be able to commit posted transactions" do
123
+ @result = @svc.committax(@request_required)
124
+ @history_request = {
125
+ :doccode => @request_required[:doccode],
126
+ :companycode => @request_required[:companycode],
127
+ :doctype => @request_required[:doctype],
128
+ }
129
+ @history_result = @svc.gettaxhistory(@history_request)
130
+ @result[:result_code].should eql "Success" and
131
+ @history_result[:get_tax_result][:doc_status].should eql "Committed"
132
+ end
133
+ it "should be able to change the doccode" do
134
+ @result = @svc.committax(@request_required.merge(@request_optional))
135
+ @history_request = {
136
+ :doccode => @request_optional[:newdoccode],
137
+ :companycode => @request_required[:companycode],
138
+ :doctype => @request_required[:doctype],
139
+ }
140
+ @history_result = @svc.gettaxhistory(@history_request)
141
+ @result[:result_code].should eql "Success" and
142
+ @history_result[:get_tax_result][:doc_status].should eql "Committed"
143
+
144
+ end
145
+ end
146
+
147
147
  end