cardconnect 1.0.0 → 1.1.0
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.
- 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
|