cardconnect 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +11 -0
- data/.rubocop.yml +10 -0
- data/.travis.yml +7 -0
- data/README.md +2 -0
- data/Rakefile +70 -42
- data/cardconnect.gemspec +8 -8
- data/lib/cardconnect.rb +1 -4
- data/lib/cardconnect/configuration.rb +0 -1
- data/lib/cardconnect/connection.rb +12 -16
- data/lib/cardconnect/error.rb +1 -1
- data/lib/cardconnect/services/authorization/authorization.rb +1 -3
- data/lib/cardconnect/services/authorization/authorization_request.rb +6 -5
- data/lib/cardconnect/services/authorization/authorization_response.rb +7 -7
- data/lib/cardconnect/services/capture/capture.rb +0 -2
- data/lib/cardconnect/services/capture/capture_request.rb +4 -5
- data/lib/cardconnect/services/capture/capture_response.rb +3 -4
- data/lib/cardconnect/services/deposit/deposit.rb +1 -3
- data/lib/cardconnect/services/deposit/deposit_request.rb +8 -11
- data/lib/cardconnect/services/deposit/deposit_response.rb +4 -5
- data/lib/cardconnect/services/inquire/inquire.rb +0 -2
- data/lib/cardconnect/services/inquire/inquire_request.rb +3 -4
- data/lib/cardconnect/services/inquire/inquire_response.rb +3 -4
- data/lib/cardconnect/services/refund/refund.rb +1 -2
- data/lib/cardconnect/services/refund/refund_request.rb +5 -6
- data/lib/cardconnect/services/refund/refund_response.rb +7 -7
- data/lib/cardconnect/services/service_endpoint.rb +10 -14
- data/lib/cardconnect/services/settlement_status/settlement_status.rb +0 -2
- data/lib/cardconnect/services/settlement_status/settlement_status_request.rb +8 -11
- data/lib/cardconnect/services/settlement_status/settlement_status_response.rb +4 -5
- data/lib/cardconnect/services/void/void.rb +1 -2
- data/lib/cardconnect/services/void/void_request.rb +5 -6
- data/lib/cardconnect/services/void/void_response.rb +8 -7
- data/lib/cardconnect/utils.rb +0 -2
- data/lib/cardconnect/version.rb +1 -1
- data/test/api_request_stubs.rb +56 -52
- data/test/api_response_stubs.rb +87 -92
- data/test/cardconnect/configuration_test.rb +0 -1
- data/test/cardconnect/connection_test.rb +1 -1
- data/test/cardconnect/services/authorization/authorization_request_test.rb +44 -27
- data/test/cardconnect/services/authorization/authorization_response_test.rb +24 -18
- data/test/cardconnect/services/authorization/authorization_test.rb +1 -4
- data/test/cardconnect/services/capture/capture_request_test.rb +8 -8
- data/test/cardconnect/services/capture/capture_response_test.rb +7 -7
- data/test/cardconnect/services/capture/capture_test.rb +1 -3
- data/test/cardconnect/services/deposit/deposit_request_test.rb +9 -9
- data/test/cardconnect/services/deposit/deposit_response_test.rb +17 -15
- data/test/cardconnect/services/deposit/deposit_test.rb +4 -4
- data/test/cardconnect/services/inquire/inquire_request_test.rb +3 -3
- data/test/cardconnect/services/inquire/inquire_response_test.rb +12 -12
- data/test/cardconnect/services/inquire/inquire_test.rb +5 -5
- data/test/cardconnect/services/refund/refund_request_test.rb +3 -3
- data/test/cardconnect/services/refund/refund_response_test.rb +15 -13
- data/test/cardconnect/services/refund/refund_test.rb +1 -2
- data/test/cardconnect/services/settlement_status/settlement_status_request_test.rb +12 -11
- data/test/cardconnect/services/settlement_status/settlement_status_response_test.rb +9 -8
- data/test/cardconnect/services/settlement_status/settlement_status_test.rb +4 -4
- data/test/cardconnect/services/void/void_request_test.rb +3 -3
- data/test/cardconnect/services/void/void_response_test.rb +16 -14
- data/test/cardconnect/services/void/void_test.rb +1 -2
- data/test/cardconnect_test.rb +0 -1
- data/test/test_helper.rb +15 -13
- metadata +6 -3
@@ -29,14 +29,14 @@ describe CardConnect::Service::Deposit do
|
|
29
29
|
@service.build_request(@valid_params)
|
30
30
|
|
31
31
|
@service.request.must_be_kind_of CardConnect::Service::DepositRequest
|
32
|
-
@service.request.merchid.must_equal
|
33
|
-
@service.request.date.must_equal
|
32
|
+
@service.request.merchid.must_equal '000000927996'
|
33
|
+
@service.request.date.must_equal '0110'
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'uses default merchant ID if merchid is not passed in' do
|
37
|
-
@service.build_request(@valid_params.reject!{|k,
|
37
|
+
@service.build_request(@valid_params.reject! { |k, _| k == 'merchid' })
|
38
38
|
@service.request.must_be_kind_of CardConnect::Service::DepositRequest
|
39
|
-
@service.request.merchid.must_equal
|
39
|
+
@service.request.merchid.must_equal 'merchant123'
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -11,11 +11,11 @@ describe CardConnect::Service::InquireRequest do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have merchant id' do
|
14
|
-
@request.merchid.must_equal
|
14
|
+
@request.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have retrieval reference number' do
|
18
|
-
@request.retref.must_equal
|
18
|
+
@request.retref.must_equal '288002073633'
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -37,7 +37,7 @@ describe CardConnect::Service::InquireRequest do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
-
describe
|
40
|
+
describe '#payload' do
|
41
41
|
it 'should generate the correct path params' do
|
42
42
|
@request.payload.must_equal '/288002073633/000000927996'
|
43
43
|
end
|
@@ -11,49 +11,49 @@ describe CardConnect::Service::InquireResponse do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have merchant id' do
|
14
|
-
@response.merchid.must_equal
|
14
|
+
@response.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have account' do
|
18
|
-
@response.account.must_equal
|
18
|
+
@response.account.must_equal '41XXXXXXXXXX4113'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should have amount' do
|
22
|
-
@response.amount.must_equal
|
22
|
+
@response.amount.must_equal '596.00'
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should have currency' do
|
26
|
-
@response.currency.must_equal
|
26
|
+
@response.currency.must_equal 'USD'
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'should have retrieval reference number' do
|
30
|
-
@response.retref.must_equal
|
30
|
+
@response.retref.must_equal '288015190411'
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should have response code' do
|
34
|
-
@response.respcode.must_equal
|
34
|
+
@response.respcode.must_equal '00'
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'should have response processor' do
|
38
|
-
@response.respproc.must_equal
|
38
|
+
@response.respproc.must_equal 'FNOR'
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'should have response status' do
|
42
|
-
@response.respstat.must_equal
|
42
|
+
@response.respstat.must_equal 'A'
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'should have capture status' do
|
46
|
-
@response.resptext.must_equal
|
46
|
+
@response.resptext.must_equal 'Approval'
|
47
47
|
end
|
48
48
|
|
49
49
|
it 'should have settlement status' do
|
50
|
-
@response.setlstat.must_equal
|
50
|
+
@response.setlstat.must_equal 'NOTCAPTURED'
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
describe
|
54
|
+
describe '#body' do
|
55
55
|
it 'should generate hash with all the right values' do
|
56
56
|
@response.body.must_equal symbolize_keys(valid_inquire_response)
|
57
57
|
end
|
58
58
|
end
|
59
|
-
end
|
59
|
+
end
|
@@ -3,7 +3,7 @@ require 'test_helper'
|
|
3
3
|
describe CardConnect::Service::Inquire do
|
4
4
|
before do
|
5
5
|
@connection = CardConnect::Connection.new.connection do |stubs|
|
6
|
-
path = @service.path
|
6
|
+
path = "#{@service.path}/#{valid_inquire_request['retref']}/#{valid_inquire_request['merchid']}"
|
7
7
|
stubs.get(path) { [200, {}, valid_inquire_response] }
|
8
8
|
end
|
9
9
|
@service = CardConnect::Service::Inquire.new(@connection)
|
@@ -30,14 +30,14 @@ describe CardConnect::Service::Inquire do
|
|
30
30
|
@service.build_request(@valid_params)
|
31
31
|
|
32
32
|
@service.request.must_be_kind_of CardConnect::Service::InquireRequest
|
33
|
-
@service.request.retref.must_equal
|
34
|
-
@service.request.merchid.must_equal
|
33
|
+
@service.request.retref.must_equal '288002073633'
|
34
|
+
@service.request.merchid.must_equal '000000927996'
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'uses default merchant ID if merchid is not passed in' do
|
38
|
-
@service.build_request(@valid_params.reject!{|k,
|
38
|
+
@service.build_request(@valid_params.reject! { |k, _| k == 'merchid' })
|
39
39
|
@service.request.must_be_kind_of CardConnect::Service::InquireRequest
|
40
|
-
@service.request.merchid.must_equal
|
40
|
+
@service.request.merchid.must_equal 'merchant123'
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
@@ -11,15 +11,15 @@ describe CardConnect::Service::RefundRequest do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have merchant id' do
|
14
|
-
@request.merchid.must_equal
|
14
|
+
@request.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have retrieval reference number' do
|
18
|
-
@request.retref.must_equal
|
18
|
+
@request.retref.must_equal '288009185241'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should have amount' do
|
22
|
-
@request.amount.must_equal
|
22
|
+
@request.amount.must_equal '59.60'
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -11,35 +11,35 @@ describe CardConnect::Service::RefundResponse do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have the merchant id' do
|
14
|
-
@response.merchid.must_equal
|
14
|
+
@response.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have the Amount' do
|
18
|
-
@response.amount.must_equal
|
18
|
+
@response.amount.must_equal '59.60'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should have the Retrieval Reference Number' do
|
22
|
-
@response.retref.must_equal
|
22
|
+
@response.retref.must_equal '288010185242'
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should have the Response Code' do
|
26
|
-
@response.respcode.must_equal
|
26
|
+
@response.respcode.must_equal '00'
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'should have the Response Processor' do
|
30
|
-
@response.respproc.must_equal
|
30
|
+
@response.respproc.must_equal 'PPS'
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should have the status' do
|
34
|
-
@response.respstat.must_equal
|
34
|
+
@response.respstat.must_equal 'A'
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'should have the Response text' do
|
38
|
-
@response.resptext.must_equal
|
38
|
+
@response.resptext.must_equal 'Approval'
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'should have authcode' do
|
42
|
-
@response.authcode.must_equal
|
42
|
+
@response.authcode.must_equal 'REFUND'
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -49,7 +49,8 @@ describe CardConnect::Service::RefundResponse do
|
|
49
49
|
end
|
50
50
|
|
51
51
|
it 'should be false when there are errors' do
|
52
|
-
|
52
|
+
refund_response = valid_refund_response.merge!('respstat' => 'C', 'resptext' => 'this is an error')
|
53
|
+
response = CardConnect::Service::RefundResponse.new(refund_response)
|
53
54
|
response.success?.must_equal false
|
54
55
|
end
|
55
56
|
end
|
@@ -60,14 +61,15 @@ describe CardConnect::Service::RefundResponse do
|
|
60
61
|
end
|
61
62
|
|
62
63
|
it 'should be an array of error messages when there are errors' do
|
63
|
-
|
64
|
-
response
|
64
|
+
refund_response = valid_refund_response.merge!('respstat' => 'C', 'resptext' => 'this is an error')
|
65
|
+
response = CardConnect::Service::RefundResponse.new(refund_response)
|
66
|
+
response.errors.must_equal ['this is an error']
|
65
67
|
end
|
66
68
|
end
|
67
69
|
|
68
|
-
describe
|
70
|
+
describe '#body' do
|
69
71
|
it 'should generate hash with all the right values' do
|
70
72
|
@response.body.must_equal symbolize_keys(valid_refund_response)
|
71
73
|
end
|
72
74
|
end
|
73
|
-
end
|
75
|
+
end
|
@@ -26,7 +26,7 @@ describe CardConnect::Service::Refund do
|
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'uses the default merchant id if it is not passed in' do
|
29
|
-
@service.build_request(@valid_params.reject!{|k,
|
29
|
+
@service.build_request(@valid_params.reject! { |k, _| k == 'merchid' })
|
30
30
|
@service.request.merchid.must_equal 'merchant123'
|
31
31
|
end
|
32
32
|
|
@@ -53,5 +53,4 @@ describe CardConnect::Service::Refund do
|
|
53
53
|
@service.response.must_be_kind_of CardConnect::Service::RefundResponse
|
54
54
|
end
|
55
55
|
end
|
56
|
-
|
57
56
|
end
|
@@ -11,11 +11,11 @@ describe CardConnect::Service::SettlementStatusRequest do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have merchant id' do
|
14
|
-
@request.merchid.must_equal
|
14
|
+
@request.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have retrieval reference number' do
|
18
|
-
@request.date.must_equal
|
18
|
+
@request.date.must_equal '0110'
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
@@ -31,33 +31,34 @@ describe CardConnect::Service::SettlementStatusRequest do
|
|
31
31
|
|
32
32
|
describe '#errors' do
|
33
33
|
CardConnect::Service::SettlementStatusRequest::REQUIRED_FIELDS.each do |field|
|
34
|
-
|
35
|
-
|
34
|
+
field_name = field.to_s.capitalize
|
35
|
+
it "should have an error message if #{field_name} is missing" do
|
36
|
+
CardConnect::Service::SettlementStatusRequest.new.errors.must_include "#{field_name} is missing"
|
36
37
|
end
|
37
38
|
end
|
38
39
|
|
39
40
|
describe '#validate_date_format' do
|
40
41
|
it 'should have an error when date is less than 4 characters long' do
|
41
|
-
request = CardConnect::Service::SettlementStatusRequest.new(
|
42
|
+
request = CardConnect::Service::SettlementStatusRequest.new(date: '123')
|
42
43
|
request.valid?.must_equal false
|
43
|
-
request.errors.must_include
|
44
|
+
request.errors.must_include 'Date format is invalid. Please use MMDD format'
|
44
45
|
end
|
45
46
|
|
46
47
|
it 'should have an error when date is more than 4 characters long' do
|
47
|
-
request = CardConnect::Service::SettlementStatusRequest.new(
|
48
|
+
request = CardConnect::Service::SettlementStatusRequest.new(date: '12345')
|
48
49
|
request.valid?.must_equal false
|
49
|
-
request.errors.must_include
|
50
|
+
request.errors.must_include 'Date format is invalid. Please use MMDD format'
|
50
51
|
end
|
51
52
|
|
52
53
|
it 'should have an error when date is not parseable in MMDD format' do
|
53
|
-
request = CardConnect::Service::SettlementStatusRequest.new(
|
54
|
+
request = CardConnect::Service::SettlementStatusRequest.new(date: '0000')
|
54
55
|
request.valid?.must_equal false
|
55
|
-
request.errors.must_include
|
56
|
+
request.errors.must_include 'Date format is invalid. Please use MMDD format'
|
56
57
|
end
|
57
58
|
end
|
58
59
|
end
|
59
60
|
|
60
|
-
describe
|
61
|
+
describe '#payload' do
|
61
62
|
it 'should generate the correct path params' do
|
62
63
|
@request.payload.must_equal "?merchid=#{@request.merchid}&date=#{@request.date}&"
|
63
64
|
end
|
@@ -10,27 +10,28 @@ describe CardConnect::Service::SettlementStatusResponse do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
it 'should have the merchant id' do
|
13
|
-
@response.merchid.must_equal
|
13
|
+
@response.merchid.must_equal '000000927996'
|
14
14
|
end
|
15
15
|
|
16
16
|
it 'should have the batch id' do
|
17
|
-
@response.batchid.must_equal
|
17
|
+
@response.batchid.must_equal '71742042'
|
18
18
|
end
|
19
19
|
|
20
20
|
it 'should have the settlement status' do
|
21
|
-
@response.hoststat.must_equal
|
21
|
+
@response.hoststat.must_equal 'GB'
|
22
22
|
end
|
23
23
|
|
24
24
|
it 'should have the host batch id' do
|
25
|
-
@response.hostbatch.must_equal
|
25
|
+
@response.hostbatch.must_equal '71742041'
|
26
26
|
end
|
27
27
|
|
28
28
|
it 'should have the clearing house' do
|
29
|
-
@response.respproc.must_equal
|
29
|
+
@response.respproc.must_equal 'FNOR'
|
30
30
|
end
|
31
31
|
|
32
32
|
it 'should have the transactions' do
|
33
|
-
@response.txns.must_equal [{setlstat:
|
33
|
+
@response.txns.must_equal [{ setlstat: 'N', retref: '179001161341' },
|
34
|
+
{ setlstat: 'Y', retref: '179002161341' }]
|
34
35
|
end
|
35
36
|
|
36
37
|
describe '#body' do
|
@@ -40,8 +41,8 @@ describe CardConnect::Service::SettlementStatusResponse do
|
|
40
41
|
|
41
42
|
it 'should generate hash with all the right values' do
|
42
43
|
valid_payload = symbolize_keys(valid_settlestat_response.first)
|
43
|
-
valid_payload[:txns] = valid_payload[:txns].map{|txn| symbolize_keys(txn)}
|
44
|
+
valid_payload[:txns] = valid_payload[:txns].map { |txn| symbolize_keys(txn) }
|
44
45
|
@response.body.must_equal valid_payload
|
45
46
|
end
|
46
47
|
end
|
47
|
-
end
|
48
|
+
end
|
@@ -29,14 +29,14 @@ describe CardConnect::Service::SettlementStatus do
|
|
29
29
|
@service.build_request(@valid_params)
|
30
30
|
|
31
31
|
@service.request.must_be_kind_of CardConnect::Service::SettlementStatusRequest
|
32
|
-
@service.request.merchid.must_equal
|
33
|
-
@service.request.date.must_equal
|
32
|
+
@service.request.merchid.must_equal '000000927996'
|
33
|
+
@service.request.date.must_equal '0110'
|
34
34
|
end
|
35
35
|
|
36
36
|
it 'uses default merchant ID if merchid is not passed in' do
|
37
|
-
@service.build_request(@valid_params.reject!{|k,
|
37
|
+
@service.build_request(@valid_params.reject! { |k, _| k == 'merchid' })
|
38
38
|
@service.request.must_be_kind_of CardConnect::Service::SettlementStatusRequest
|
39
|
-
@service.request.merchid.must_equal
|
39
|
+
@service.request.merchid.must_equal 'merchant123'
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -11,15 +11,15 @@ describe CardConnect::Service::VoidRequest do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have merchant id' do
|
14
|
-
@request.merchid.must_equal
|
14
|
+
@request.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have retrieval reference number' do
|
18
|
-
@request.retref.must_equal
|
18
|
+
@request.retref.must_equal '288013185633'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should have amount' do
|
22
|
-
@request.amount.must_equal
|
22
|
+
@request.amount.must_equal '101'
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
@@ -11,39 +11,39 @@ describe CardConnect::Service::VoidResponse do
|
|
11
11
|
|
12
12
|
describe 'FIELDS' do
|
13
13
|
it 'should have the merchant id' do
|
14
|
-
@response.merchid.must_equal
|
14
|
+
@response.merchid.must_equal '000000927996'
|
15
15
|
end
|
16
16
|
|
17
17
|
it 'should have the Amount' do
|
18
|
-
@response.amount.must_equal
|
18
|
+
@response.amount.must_equal '1.01'
|
19
19
|
end
|
20
20
|
|
21
21
|
it 'should have the currency' do
|
22
|
-
@response.currency.must_equal
|
22
|
+
@response.currency.must_equal 'USD'
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'should have the Retrieval Reference Number' do
|
26
|
-
@response.retref.must_equal
|
26
|
+
@response.retref.must_equal '288013185633'
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'should have the authcode' do
|
30
|
-
@response.authcode.must_equal
|
30
|
+
@response.authcode.must_equal 'REVERS'
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'should have the Response Code' do
|
34
|
-
@response.respcode.must_equal
|
34
|
+
@response.respcode.must_equal '00'
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'should have the Response Processor' do
|
38
|
-
@response.respproc.must_equal
|
38
|
+
@response.respproc.must_equal 'FNOR'
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'should have the status' do
|
42
|
-
@response.respstat.must_equal
|
42
|
+
@response.respstat.must_equal 'A'
|
43
43
|
end
|
44
44
|
|
45
45
|
it 'should have the Response text' do
|
46
|
-
@response.resptext.must_equal
|
46
|
+
@response.resptext.must_equal 'Approval'
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -53,7 +53,8 @@ describe CardConnect::Service::VoidResponse do
|
|
53
53
|
end
|
54
54
|
|
55
55
|
it 'should be false when there are errors' do
|
56
|
-
|
56
|
+
void_response = valid_void_response.merge!('respstat' => 'C', 'resptext' => 'this is an error')
|
57
|
+
response = CardConnect::Service::VoidResponse.new(void_response)
|
57
58
|
response.success?.must_equal false
|
58
59
|
end
|
59
60
|
end
|
@@ -64,14 +65,15 @@ describe CardConnect::Service::VoidResponse do
|
|
64
65
|
end
|
65
66
|
|
66
67
|
it 'should be an array of error messages when there are errors' do
|
67
|
-
|
68
|
-
response
|
68
|
+
void_response = valid_void_response.merge!('respstat' => 'C', 'resptext' => 'this is an error')
|
69
|
+
response = CardConnect::Service::VoidResponse.new(void_response)
|
70
|
+
response.errors.must_equal ['this is an error']
|
69
71
|
end
|
70
72
|
end
|
71
73
|
|
72
|
-
describe
|
74
|
+
describe '#body' do
|
73
75
|
it 'should generate hash with all the right values' do
|
74
76
|
@response.body.must_equal symbolize_keys(valid_void_response)
|
75
77
|
end
|
76
78
|
end
|
77
|
-
end
|
79
|
+
end
|