wirecard 0.0.1 → 0.0.2

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/README.md +2 -0
  4. data/README.rdoc +3 -0
  5. data/circle.yml +7 -0
  6. data/lib/wirecard.rb +22 -0
  7. data/lib/wirecard/backend/approve_reversal.rb +9 -0
  8. data/lib/wirecard/backend/base.rb +20 -0
  9. data/lib/wirecard/backend/deposit.rb +9 -0
  10. data/lib/wirecard/backend/deposit_reversal.rb +9 -0
  11. data/lib/wirecard/backend/generate_order_number.rb +12 -0
  12. data/lib/wirecard/backend/get_order_details.rb +9 -0
  13. data/lib/wirecard/backend/recur_payment.rb +9 -0
  14. data/lib/wirecard/backend/refund.rb +9 -0
  15. data/lib/wirecard/backend/refund_reversal.rb +9 -0
  16. data/lib/wirecard/backend/transfer_fund/base.rb +15 -0
  17. data/lib/wirecard/backend/transfer_fund/existing_order.rb +11 -0
  18. data/lib/wirecard/base.rb +26 -11
  19. data/lib/wirecard/callback.rb +3 -8
  20. data/lib/wirecard/configuration.rb +4 -0
  21. data/lib/wirecard/data_storage/init.rb +1 -3
  22. data/lib/wirecard/fingerprint/base.rb +13 -2
  23. data/lib/wirecard/payment_process/init.rb +11 -0
  24. data/lib/wirecard/request.rb +2 -6
  25. data/lib/wirecard/response.rb +0 -4
  26. data/lib/wirecard/version.rb +1 -1
  27. data/spec/spec_helper.rb +10 -1
  28. data/spec/unit_tests/backend/approve_reversal_spec.rb +54 -0
  29. data/spec/unit_tests/backend/deposit_reversal_spec.rb +91 -0
  30. data/spec/unit_tests/backend/deposit_spec.rb +79 -0
  31. data/spec/unit_tests/backend/generate_order_number_spec.rb +37 -0
  32. data/spec/unit_tests/backend/get_order_details_spec.rb +233 -0
  33. data/spec/unit_tests/backend/recur_payment_spec.rb +86 -0
  34. data/spec/unit_tests/backend/refund_reversal.rb +60 -0
  35. data/spec/unit_tests/backend/refund_spec.rb +66 -0
  36. data/spec/unit_tests/backend/transfer_fund/existing_order_spec.rb +88 -0
  37. data/spec/unit_tests/callback_spec.rb +101 -0
  38. data/spec/unit_tests/data_storage/init_spec.rb +39 -25
  39. data/spec/unit_tests/data_storage/read_spec.rb +47 -0
  40. data/spec/unit_tests/fingerprint/sha_512_spec.rb +69 -0
  41. data/spec/unit_tests/payment_process/init_spec.rb +94 -0
  42. data/spec/unit_tests/support/shared_context.rb +235 -0
  43. data/spec/unit_tests/support/shared_examples.rb +7 -33
  44. data/spec/unit_tests/support/webserver.rb +29 -0
  45. data/spec/wirecard_spec.rb +133 -133
  46. data/wirecard.gemspec +5 -0
  47. metadata +115 -4
  48. data/spec/unit_tests/base_shared.rb +0 -34
@@ -1,4 +1,13 @@
1
+ require 'dotenv'
2
+ Dotenv.load
3
+
4
+ require "codeclimate-test-reporter"
5
+ CodeClimate::TestReporter.start if ENV['CODECLIMATE_REPO_TOKEN']
6
+
1
7
  require 'pry'
2
- require 'Wirecard'
8
+ require 'wirecard'
9
+
10
+ require 'webmock/rspec'
11
+ WebMock.disable_net_connect!(allow_localhost: true, allow: 'codeclimate.com')
3
12
 
4
13
  Dir["./spec/unit_tests/support/**/*.rb"].sort.each { |f| require f}
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Wirecard::Backend::ApproveReversal do
4
+
5
+ let(:approve_reversal) { Wirecard::Backend::ApproveReversal.new(options) }
6
+ let(:options) { Hash.new.merge(order_number) }
7
+ let(:order_number) { { order_number: '23473341' } }
8
+
9
+ include_context 'configuration'
10
+
11
+ it { is_expected.to be_a_kind_of(Wirecard::Backend::ApproveReversal) }
12
+
13
+ describe '#implicit_fingerprint_order' do
14
+ subject { approve_reversal.implicit_fingerprint_order }
15
+
16
+ it { is_expected.to eq([:customer_id, :shop_id, :password, :secret, :language, :order_number]) }
17
+ end
18
+
19
+ describe '#defaults' do
20
+ subject { approve_reversal.defaults }
21
+
22
+ include_examples 'Wirecard::Base#defaults'
23
+ include_examples 'Wirecard::Backend::Base#defaults'
24
+ end
25
+
26
+ describe '#url' do
27
+ subject { approve_reversal.url }
28
+
29
+ it { is_expected.to eq('https://checkout.wirecard.com/seamless/backend/approvereversal') }
30
+ end
31
+
32
+ describe '#post' do
33
+ subject { approve_reversal.post.response }
34
+ include_context 'stub requests'
35
+
36
+ context 'when order number is 23473341' do
37
+ let(:order_number) { { order_number: '23473341' } }
38
+
39
+ #it { is_expected.to eq({ status: '0' }) }
40
+ end
41
+
42
+ context 'when order number is not given' do
43
+ let(:order_number) { { } }
44
+
45
+ it { is_expected.to eq({
46
+ :"error.1.consumer_message" => "Order number is missing.",
47
+ :"error.1.error_code" => "11011",
48
+ :"error.1.message" => "Order number is missing.",
49
+ errors: "1",
50
+ status: "1"
51
+ }) }
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,91 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Wirecard::Backend::DepositReversal do
4
+
5
+ let(:deposit_reversal) { Wirecard::Backend::DepositReversal.new(options) }
6
+ let(:options) { Hash.new.merge(order_number).merge(payment_number) }
7
+ let(:order_number) { { order_number: '23473341' } }
8
+ let(:payment_number) { { payment_number: '23473341'} }
9
+
10
+ include_context 'configuration'
11
+
12
+ it { is_expected.to be_a_kind_of(Wirecard::Backend::DepositReversal) }
13
+
14
+ describe '#implicit_fingerprint_order' do
15
+ subject { deposit_reversal.implicit_fingerprint_order }
16
+
17
+ it { is_expected.to eq([:customer_id, :shop_id, :password, :secret, :language, :order_number, :payment_number]) }
18
+ end
19
+
20
+ describe '#defaults' do
21
+ subject { deposit_reversal.defaults }
22
+
23
+ include_examples 'Wirecard::Base#defaults'
24
+ include_examples 'Wirecard::Backend::Base#defaults'
25
+ end
26
+
27
+ describe '#url' do
28
+ subject { deposit_reversal.url }
29
+
30
+ it { is_expected.to eq('https://checkout.wirecard.com/seamless/backend/depositreversal') }
31
+ end
32
+
33
+ describe '#post' do
34
+ subject { deposit_reversal.post.response }
35
+ include_context 'stub requests'
36
+
37
+ context 'when order number is 23473341' do
38
+ let(:order_number) { { order_number: '23473341' } }
39
+
40
+ context 'when payment_number is given' do
41
+ let(:payment_number) { { payment_number: '23473341'} }
42
+
43
+ it { is_expected.to eq({ status: '0' }) }
44
+ end
45
+
46
+ context 'when payment_number is not given' do
47
+ let(:payment_number) { { } }
48
+
49
+ it { is_expected.to eq({
50
+ :"error.1.consumer_message" => "Payment number is missing.",
51
+ :"error.1.error_code" => "11012",
52
+ :"error.1.message" => "Payment number is missing.",
53
+ errors: "1",
54
+ status: "1"
55
+ }) }
56
+ end
57
+ end
58
+
59
+ context 'when order number is not given' do
60
+ let(:order_number) { { } }
61
+
62
+
63
+ context 'when payment_number is given' do
64
+ let(:payment_number) { { payment_number: '23473341'} }
65
+
66
+ it { is_expected.to eq({
67
+ :"error.1.consumer_message" => "Order number is missing.",
68
+ :"error.1.error_code" => "11011",
69
+ :"error.1.message" => "Order number is missing.",
70
+ errors: "1",
71
+ status: "1"
72
+ }) }
73
+ end
74
+
75
+ context 'when payment_number is not given' do
76
+ let(:payment_number) { { } }
77
+
78
+ it { is_expected.to eq({
79
+ :"error.1.consumer_message" => "Order number is missing.",
80
+ :"error.1.error_code" => "11011",
81
+ :"error.1.message" => "Order number is missing.",
82
+ :"error.2.consumer_message" => "Payment number is missing.",
83
+ :"error.2.error_code" => "11012",
84
+ :"error.2.message" => "Payment number is missing.",
85
+ errors: "2",
86
+ status: "1"
87
+ }) }
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,79 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Wirecard::Backend::Deposit do
4
+
5
+ let(:deposit) { Wirecard::Backend::Deposit.new(options) }
6
+ let(:options) { Hash.new.merge(order_number).merge(amount).merge(currency) }
7
+ let(:order_number) { { order_number: '23473341' } }
8
+ let(:amount) { { amount: '1000'} }
9
+ let(:currency) { { currency: 'EUR' } }
10
+
11
+ include_context 'configuration'
12
+
13
+ it { is_expected.to be_a_kind_of(Wirecard::Backend::Deposit) }
14
+
15
+ describe '#implicit_fingerprint_order' do
16
+ subject { deposit.implicit_fingerprint_order }
17
+
18
+ it { is_expected.to eq([:customer_id, :shop_id, :password, :secret, :language, :order_number, :amount, :currency]) }
19
+ end
20
+
21
+ describe '#defaults' do
22
+ subject { deposit.defaults }
23
+
24
+ include_examples 'Wirecard::Base#defaults'
25
+ include_examples 'Wirecard::Backend::Base#defaults'
26
+ end
27
+
28
+ describe '#url' do
29
+ subject { deposit.url }
30
+
31
+ it { is_expected.to eq('https://checkout.wirecard.com/seamless/backend/deposit') }
32
+ end
33
+
34
+ describe '#post' do
35
+ subject { deposit.post.response }
36
+ include_context 'stub requests'
37
+
38
+ context 'when order number is 23473341' do
39
+ let(:order_number) { { order_number: '23473341' } }
40
+
41
+ it { is_expected.to eq({ payment_number: "23473341", status: "0" }) }
42
+
43
+ context 'when amount is not given' do
44
+ let(:amount) { {} }
45
+
46
+ it { is_expected.to eq({
47
+ :"error.1.consumer_message" => "Amount is missing.",
48
+ :"error.1.error_code" => "11017",
49
+ :"error.1.message" => "Amount is missing.",
50
+ errors: "1",
51
+ status: "1"
52
+ }) }
53
+ end
54
+
55
+ context 'when currency is not given' do
56
+ let(:currency) { {} }
57
+
58
+ it { is_expected.to eq({
59
+ :"error.1.consumer_message" => "Currency is missing.",
60
+ :"error.1.error_code" => "11019",
61
+ :"error.1.message" => "Currency is missing.",
62
+ errors: "1",
63
+ status: "1"
64
+ }) }
65
+ end
66
+ end
67
+ context 'when order number is not given' do
68
+ let(:order_number) { {} }
69
+
70
+ it { is_expected.to eq({
71
+ :"error.1.consumer_message" => "Order number is missing.",
72
+ :"error.1.error_code" => "11011",
73
+ :"error.1.message" => "Order number is missing.",
74
+ errors: "1",
75
+ status: "1"
76
+ }) }
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,37 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Wirecard::Backend::GenerateOrderNumber do
4
+
5
+ let(:generate_order_number) { Wirecard::Backend::GenerateOrderNumber.new(options) }
6
+ let(:options) { Hash.new }
7
+
8
+ include_context 'configuration'
9
+
10
+ it { is_expected.to be_a_kind_of(Wirecard::Backend::GenerateOrderNumber) }
11
+
12
+ describe '#implicit_fingerprint_order' do
13
+ subject { generate_order_number.implicit_fingerprint_order }
14
+
15
+ it { is_expected.to eq([:customer_id, :shop_id, :password, :secret, :language]) }
16
+ end
17
+
18
+ describe '#defaults' do
19
+ subject { generate_order_number.defaults }
20
+
21
+ include_examples 'Wirecard::Base#defaults'
22
+ include_examples 'Wirecard::Backend::Base#defaults'
23
+ end
24
+
25
+ describe '#url' do
26
+ subject { generate_order_number.url }
27
+
28
+ it { is_expected.to eq('https://checkout.wirecard.com/seamless/backend/generateordernumber') }
29
+ end
30
+
31
+ describe '#post' do
32
+ subject { generate_order_number.post.response }
33
+ include_context 'stub requests'
34
+
35
+ it { is_expected.to eq({ order_number: '1113051', status: '0' }) }
36
+ end
37
+ end
@@ -0,0 +1,233 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Wirecard::Backend::GetOrderDetails do
4
+
5
+ let(:get_order_details) { Wirecard::Backend::GetOrderDetails.new(options) }
6
+ let(:options) { { order_number: '23473341' } }
7
+
8
+ include_context 'configuration'
9
+
10
+ it { is_expected.to be_a_kind_of(Wirecard::Backend::GetOrderDetails) }
11
+
12
+ describe '#implicit_fingerprint_order' do
13
+ subject { get_order_details.implicit_fingerprint_order }
14
+
15
+ it { is_expected.to eq([:customer_id, :shop_id, :password, :secret, :language, :order_number]) }
16
+ end
17
+
18
+ describe '#defaults' do
19
+ subject { get_order_details.defaults }
20
+
21
+ include_examples 'Wirecard::Base#defaults'
22
+ include_examples 'Wirecard::Backend::Base#defaults'
23
+ end
24
+
25
+ describe '#url' do
26
+ subject { get_order_details.url }
27
+
28
+ it { is_expected.to eq('https://checkout.wirecard.com/seamless/backend/getorderdetails') }
29
+ end
30
+
31
+ describe '#post' do
32
+ subject { get_order_details.post.response }
33
+ include_context 'stub requests'
34
+
35
+ context 'when order_number is given' do
36
+ context 'when order number refers is 23473341 (VISA)' do
37
+ let(:options) { { order_number: '23473341' } }
38
+
39
+ it { is_expected.to eq ( {
40
+ objects_total: "1",
41
+ :"order.1.acquirer" => "card complete",
42
+ :"order.1.amount" => "1.00",
43
+ :"order.1.approve_amount" => "1.00",
44
+ :"order.1.brand" => "VISA",
45
+ :"order.1.contract_number" => "0815DemoContract",
46
+ :"order.1.credits" => "0",
47
+ :"order.1.currency" => "EUR",
48
+ :"order.1.customer_statement" => "Danke für den Einkauf!",
49
+ :"order.1.deposit_amount" => "0",
50
+ :"order.1.merchant_number" => "1",
51
+ :"order.1.order_description" => "Lisa Kaufrausch, K-Nr: 54435",
52
+ :"order.1.order_number" => "23473341",
53
+ :"order.1.order_reference" => "OR-23473341",
54
+ :"order.1.payment_type" => "VPG",
55
+ :"order.1.payments" => "1",
56
+ :"order.1.refund_amount" => "0",
57
+ :"order.1.state" => "ORDERED",
58
+ :"order.1.time_created" => "30.07.2015 10:52:53",
59
+ :"order.1.time_modified" => "30.07.2015 10:52:53",
60
+ orders: "1",
61
+ :"payment.1.1.approval_code" => "123456",
62
+ :"payment.1.1.approve_amount" => "1.00",
63
+ :"payment.1.1.currency" => "EUR",
64
+ :"payment.1.1.deposit_amount" => "0.00",
65
+ :"payment.1.1.merchant_number" => "1",
66
+ :"payment.1.1.operations_allowed" => "DEPOSIT,APPROVEREVERSAL",
67
+ :"payment.1.1.order_number" => "23473341",
68
+ :"payment.1.1.payment_number" => "23473341",
69
+ :"payment.1.1.payment_type" => "VPG",
70
+ :"payment.1.1.state" => "payment_approved",
71
+ :"payment.1.1.time_created" => "30.07.2015 10:52:53",
72
+ :"payment.1.1.time_modified" => "30.07.2015 10:52:53",
73
+ status: "0"
74
+ }) }
75
+ end
76
+
77
+ context 'when order number refers is 56453412 (Mastercard)' do
78
+ let(:options) { { order_number: '56453412' } }
79
+
80
+ it { is_expected.to eq ( {
81
+ objects_total: "1",
82
+ :"order.1.acquirer" => "PayLife",
83
+ :"order.1.amount" => "1.00",
84
+ :"order.1.approve_amount" => "1.00",
85
+ :"order.1.brand" => "MasterCard",
86
+ :"order.1.contract_number" => "0815DemoContract",
87
+ :"order.1.credits" => "0",
88
+ :"order.1.currency" => "EUR",
89
+ :"order.1.customer_statement" => "Danke für den Einkauf!",
90
+ :"order.1.deposit_amount" => "0",
91
+ :"order.1.merchant_number" => "1",
92
+ :"order.1.order_description" => "Max Mustermann, K-Nr: 12345",
93
+ :"order.1.order_number" => "56453412",
94
+ :"order.1.order_reference" => "OR-56453412",
95
+ :"order.1.payment_type" => "APG",
96
+ :"order.1.payments" => "1",
97
+ :"order.1.refund_amount" => "0",
98
+ :"order.1.state" => "ORDERED",
99
+ :"order.1.time_created" => "30.07.2015 11:20:53",
100
+ :"order.1.time_modified" => "30.07.2015 11:20:53",
101
+ orders: "1",
102
+ :"payment.1.1.approval_code" => "123456",
103
+ :"payment.1.1.approve_amount" => "1.00",
104
+ :"payment.1.1.currency" => "EUR",
105
+ :"payment.1.1.deposit_amount" => "0.00",
106
+ :"payment.1.1.merchant_number" => "1",
107
+ :"payment.1.1.operations_allowed" => "DEPOSIT,APPROVEREVERSAL",
108
+ :"payment.1.1.order_number" => "56453412",
109
+ :"payment.1.1.payment_number" => "56453412",
110
+ :"payment.1.1.payment_type" => "APG",
111
+ :"payment.1.1.state" => "payment_approved",
112
+ :"payment.1.1.time_created" => "30.07.2015 11:20:53",
113
+ :"payment.1.1.time_modified" => "30.07.2015 11:20:53",
114
+ status: "0"
115
+ }) }
116
+ end
117
+
118
+ context 'when order number is 543132154 (Sofortüberweisung)' do
119
+ let(:options) { { order_number: '543132154' } }
120
+
121
+ it { is_expected.to eq ( {
122
+ objects_total: "1",
123
+ :"order.1.amount" => "1.00",
124
+ :"order.1.approve_amount" => "0",
125
+ :"order.1.brand" => "sofortueberweisung",
126
+ :"order.1.contract_number" => "1234/1234",
127
+ :"order.1.credits" => "0",
128
+ :"order.1.currency" => "EUR",
129
+ :"order.1.customer_statement" => "Danke für den Einkauf!",
130
+ :"order.1.deposit_amount" => "1.00",
131
+ :"order.1.merchant_number" => "1",
132
+ :"order.1.order_description" => "F. Realtime, K-Nr: 12111",
133
+ :"order.1.order_number" => "543132154",
134
+ :"order.1.order_reference" => "OR-543132154",
135
+ :"order.1.payment_type" => "SUE",
136
+ :"order.1.payments" => "1",
137
+ :"order.1.refund_amount" => "0",
138
+ :"order.1.state" => "ORDERED",
139
+ :"order.1.time_created" => "30.07.2015 11:32:49",
140
+ :"order.1.time_modified" => "30.07.2015 11:32:49",
141
+ orders: "1",
142
+ :"payment.1.1.approval_code" => "00000-00000-AAAAAAAA-BBBB",
143
+ :"payment.1.1.approve_amount" => "1.00",
144
+ :"payment.1.1.batch_number" => "131",
145
+ :"payment.1.1.currency" => "EUR",
146
+ :"payment.1.1.deposit_amount" => "1.00",
147
+ :"payment.1.1.merchant_number" => "1",
148
+ :"payment.1.1.order_number" => "543132154",
149
+ :"payment.1.1.payment_number" => "543132154",
150
+ :"payment.1.1.payment_type" => "SUE",
151
+ :"payment.1.1.security_criteria" => "1",
152
+ :"payment.1.1.sender_account_number" => "1234567890",
153
+ :"payment.1.1.sender_account_owner" => "Test Consumer",
154
+ :"payment.1.1.sender_b_i_c" => "PNAGDE00000",
155
+ :"payment.1.1.sender_bank_name" => "Test Bank",
156
+ :"payment.1.1.sender_bank_number" => "1234578",
157
+ :"payment.1.1.sender_country" => "DE",
158
+ :"payment.1.1.sender_i_b_a_n" => "DE0000000000000000",
159
+ :"payment.1.1.state" => "payment_deposited",
160
+ :"payment.1.1.time_created" => "30.07.2015 11:32:49",
161
+ :"payment.1.1.time_modified" => "30.07.2015 11:32:49",
162
+ status: "0"
163
+ }) }
164
+ end
165
+
166
+ context 'when order number is 3485464 (PayPal)' do
167
+ let(:options) { { order_number: '3485464' } }
168
+
169
+ it { is_expected.to eq({
170
+ objects_total: "1",
171
+ :"order.1.amount" => "1.00",
172
+ :"order.1.approve_amount" => "0",
173
+ :"order.1.brand" => "PayPal",
174
+ :"order.1.contract_number" => "mail@shop.com",
175
+ :"order.1.credits" => "0",
176
+ :"order.1.currency" => "EUR",
177
+ :"order.1.customer_statement" => "Danke für den Einkauf!",
178
+ :"order.1.deposit_amount" => "1.00",
179
+ :"order.1.merchant_number" => "1",
180
+ :"order.1.order_description" => "E. Bay, K-Nr: 55266",
181
+ :"order.1.order_number" => "3485464",
182
+ :"order.1.order_reference" => "OR-3485464",
183
+ :"order.1.payment_type" => "PPL",
184
+ :"order.1.payments" => "1",
185
+ :"order.1.refund_amount" => "0",
186
+ :"order.1.state" => "ORDERED",
187
+ :"order.1.time_created" => "30.07.2015 11:41:37",
188
+ :"order.1.time_modified" => "30.07.2015 11:41:37",
189
+ orders: "1",
190
+ :"payment.1.1.approval_code" => "4PW61566G53703003",
191
+ :"payment.1.1.approve_amount" => "1.00",
192
+ :"payment.1.1.batch_number" => "129",
193
+ :"payment.1.1.currency" => "EUR",
194
+ :"payment.1.1.deposit_amount" => "1.00",
195
+ :"payment.1.1.merchant_number" => "1",
196
+ :"payment.1.1.order_number" => "3485464",
197
+ :"payment.1.1.payment_number" => "3485464",
198
+ :"payment.1.1.payment_type" => "PPL",
199
+ :"payment.1.1.paypal_payer_address_city" => "Musterstadt",
200
+ :"payment.1.1.paypal_payer_address_country" => "AT",
201
+ :"payment.1.1.paypal_payer_address_state" => "Musterland",
202
+ :"payment.1.1.paypal_payer_address_status" => "unverified",
203
+ :"payment.1.1.paypal_payer_address_z_i_p" => "1234",
204
+ :"payment.1.1.paypal_payer_email" => "buyer@paypal.com",
205
+ :"payment.1.1.paypal_payer_first_name" => "Test",
206
+ :"payment.1.1.paypal_payer_i_d" => "PAYER123456ID",
207
+ :"payment.1.1.paypal_payer_last_name" => "Consumer",
208
+ :"payment.1.1.paypal_protection_eligibility" => "ExtendedCustomerProtection",
209
+ :"payment.1.1.state" => "payment_deposited",
210
+ :"payment.1.1.time_created" => "30.07.2015 11:41:37",
211
+ :"payment.1.1.time_modified" => "30.07.2015 11:41:37",
212
+ status: "0"
213
+ }) }
214
+ end
215
+
216
+ context 'when order number is 123456789 (non-existing order)' do
217
+ let(:options) { { order_number: '123456789' } }
218
+
219
+ it { is_expected.to eq ({ objects_total: "0", orders: "0", status: "0" }) }
220
+ end
221
+ end
222
+
223
+ context 'when order_number is missing' do
224
+ let(:options) { Hash.new }
225
+
226
+ it { is_expected.to eq ({:"error.1.consumer_message" => "Order number is missing.",
227
+ :"error.1.error_code" => "11011",
228
+ :"error.1.message" => "Order number is missing.",
229
+ errors: "1",
230
+ status: "1"}) }
231
+ end
232
+ end
233
+ end