wirecard 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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