defra_ruby_mocks 1.1.0 → 1.5.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.
Files changed (35) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +52 -2
  3. data/Rakefile +0 -2
  4. data/app/controllers/defra_ruby_mocks/company_controller.rb +1 -1
  5. data/app/controllers/defra_ruby_mocks/worldpay_controller.rb +33 -12
  6. data/app/services/defra_ruby_mocks/{worldpay_request_service.rb → worldpay_payment_service.rb} +3 -9
  7. data/app/services/defra_ruby_mocks/worldpay_refund_service.rb +37 -0
  8. data/app/services/defra_ruby_mocks/worldpay_request_handler_service.rb +40 -0
  9. data/app/services/defra_ruby_mocks/worldpay_resource_service.rb +55 -0
  10. data/app/services/defra_ruby_mocks/worldpay_response_service.rb +71 -52
  11. data/app/views/defra_ruby_mocks/worldpay/payment_request.xml.erb +4 -0
  12. data/app/views/defra_ruby_mocks/worldpay/refund_request.xml.erb +4 -0
  13. data/app/views/defra_ruby_mocks/worldpay/stuck.html.erb +37 -0
  14. data/lib/defra_ruby_mocks/engine.rb +2 -1
  15. data/lib/defra_ruby_mocks/missing_resource_error.rb +9 -0
  16. data/lib/defra_ruby_mocks/unrecognised_worldpay_request_error.rb +5 -0
  17. data/lib/defra_ruby_mocks/version.rb +1 -1
  18. data/spec/dummy/log/development.log +180 -0
  19. data/spec/dummy/log/test.log +1287 -323
  20. data/spec/examples.txt +99 -56
  21. data/spec/fixtures/{worldpay_request_invalid.xml → payment_request_invalid.xml} +0 -0
  22. data/spec/fixtures/{worldpay_request_valid.xml → payment_request_valid.xml} +0 -0
  23. data/spec/fixtures/refund_request_invalid.xml +6 -0
  24. data/spec/fixtures/refund_request_valid.xml +11 -0
  25. data/spec/fixtures/unrecognised_request.xml +6 -0
  26. data/spec/requests/worldpay_spec.rb +87 -26
  27. data/spec/services/{worldpay_request_service_spec.rb → worldpay_payment_service_spec.rb} +25 -22
  28. data/spec/services/worldpay_refund_service_spec.rb +68 -0
  29. data/spec/services/worldpay_request_handler_service_spec.rb +79 -0
  30. data/spec/services/worldpay_resource_service_spec.rb +112 -0
  31. data/spec/services/worldpay_response_service_spec.rb +185 -58
  32. data/spec/support/helpers/xml_matchers.rb +19 -0
  33. metadata +50 -17
  34. data/app/views/defra_ruby_mocks/worldpay/payments_service.xml.erb +0 -4
  35. data/lib/defra_ruby_mocks/missing_registration_error.rb +0 -9
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rspec/expectations"
4
+
5
+ RSpec::Matchers.define :be_xml do
6
+ match do
7
+ begin
8
+ Nokogiri::XML(actual, &:strict)
9
+
10
+ true
11
+ rescue Nokogiri::XML::SyntaxError
12
+ false
13
+ end
14
+ end
15
+
16
+ failure_message do |actual|
17
+ "expected that \"#{actual}\" would be a valid XML document"
18
+ end
19
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: defra_ruby_mocks
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Defra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-20 00:00:00.000000000 Z
11
+ date: 2020-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.2.11.1
27
+ - !ruby/object:Gem::Dependency
28
+ name: sprockets
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 3.7.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 3.7.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: nokogiri
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -98,16 +112,16 @@ dependencies:
98
112
  name: simplecov
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ">="
115
+ - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '0'
117
+ version: 0.17.1
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ">="
122
+ - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '0'
124
+ version: 0.17.1
111
125
  description: A Rails engine which can be used to mock external services when loaded
112
126
  into an application
113
127
  email:
@@ -124,17 +138,23 @@ files:
124
138
  - app/controllers/defra_ruby_mocks/worldpay_controller.rb
125
139
  - app/services/defra_ruby_mocks/base_service.rb
126
140
  - app/services/defra_ruby_mocks/companies_house_service.rb
127
- - app/services/defra_ruby_mocks/worldpay_request_service.rb
141
+ - app/services/defra_ruby_mocks/worldpay_payment_service.rb
142
+ - app/services/defra_ruby_mocks/worldpay_refund_service.rb
143
+ - app/services/defra_ruby_mocks/worldpay_request_handler_service.rb
144
+ - app/services/defra_ruby_mocks/worldpay_resource_service.rb
128
145
  - app/services/defra_ruby_mocks/worldpay_response_service.rb
129
146
  - app/views/defra_ruby_mocks/company/not_found.json.erb
130
147
  - app/views/defra_ruby_mocks/company/show.json.erb
131
- - app/views/defra_ruby_mocks/worldpay/payments_service.xml.erb
148
+ - app/views/defra_ruby_mocks/worldpay/payment_request.xml.erb
149
+ - app/views/defra_ruby_mocks/worldpay/refund_request.xml.erb
150
+ - app/views/defra_ruby_mocks/worldpay/stuck.html.erb
132
151
  - config/routes.rb
133
152
  - lib/defra_ruby_mocks.rb
134
153
  - lib/defra_ruby_mocks/configuration.rb
135
154
  - lib/defra_ruby_mocks/engine.rb
136
155
  - lib/defra_ruby_mocks/invalid_config_error.rb
137
- - lib/defra_ruby_mocks/missing_registration_error.rb
156
+ - lib/defra_ruby_mocks/missing_resource_error.rb
157
+ - lib/defra_ruby_mocks/unrecognised_worldpay_request_error.rb
138
158
  - lib/defra_ruby_mocks/version.rb
139
159
  - lib/tasks/changelog.rake
140
160
  - lib/tasks/defra_ruby_mocks_tasks.rake
@@ -176,19 +196,26 @@ files:
176
196
  - spec/dummy/public/500.html
177
197
  - spec/dummy/public/favicon.ico
178
198
  - spec/examples.txt
179
- - spec/fixtures/worldpay_request_invalid.xml
180
- - spec/fixtures/worldpay_request_valid.xml
199
+ - spec/fixtures/payment_request_invalid.xml
200
+ - spec/fixtures/payment_request_valid.xml
201
+ - spec/fixtures/refund_request_invalid.xml
202
+ - spec/fixtures/refund_request_valid.xml
203
+ - spec/fixtures/unrecognised_request.xml
181
204
  - spec/lib/configuration_spec.rb
182
205
  - spec/rails_helper.rb
183
206
  - spec/requests/company_spec.rb
184
207
  - spec/requests/worldpay_spec.rb
185
208
  - spec/services/companies_house_service_spec.rb
186
- - spec/services/worldpay_request_service_spec.rb
209
+ - spec/services/worldpay_payment_service_spec.rb
210
+ - spec/services/worldpay_refund_service_spec.rb
211
+ - spec/services/worldpay_request_handler_service_spec.rb
212
+ - spec/services/worldpay_resource_service_spec.rb
187
213
  - spec/services/worldpay_response_service_spec.rb
188
214
  - spec/spec_helper.rb
189
215
  - spec/support/helpers/configuration.rb
190
216
  - spec/support/helpers/helpers.rb
191
217
  - spec/support/helpers/waste_carriers_engine.rb
218
+ - spec/support/helpers/xml_matchers.rb
192
219
  - spec/support/pry.rb
193
220
  - spec/support/simplecov.rb
194
221
  homepage: https://github.com/DEFRA/defra-ruby-mocks
@@ -210,8 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
237
  - !ruby/object:Gem::Version
211
238
  version: '0'
212
239
  requirements: []
213
- rubyforge_project:
214
- rubygems_version: 2.6.13
240
+ rubygems_version: 3.0.0
215
241
  signing_key:
216
242
  specification_version: 4
217
243
  summary: Defra Ruby on Rails external API mocking engine
@@ -260,12 +286,19 @@ test_files:
260
286
  - spec/support/simplecov.rb
261
287
  - spec/support/pry.rb
262
288
  - spec/support/helpers/helpers.rb
289
+ - spec/support/helpers/xml_matchers.rb
263
290
  - spec/support/helpers/configuration.rb
264
291
  - spec/support/helpers/waste_carriers_engine.rb
265
292
  - spec/lib/configuration_spec.rb
266
- - spec/fixtures/worldpay_request_valid.xml
267
- - spec/fixtures/worldpay_request_invalid.xml
293
+ - spec/fixtures/unrecognised_request.xml
294
+ - spec/fixtures/payment_request_invalid.xml
295
+ - spec/fixtures/refund_request_valid.xml
296
+ - spec/fixtures/payment_request_valid.xml
297
+ - spec/fixtures/refund_request_invalid.xml
268
298
  - spec/rails_helper.rb
269
299
  - spec/services/worldpay_response_service_spec.rb
300
+ - spec/services/worldpay_resource_service_spec.rb
270
301
  - spec/services/companies_house_service_spec.rb
271
- - spec/services/worldpay_request_service_spec.rb
302
+ - spec/services/worldpay_payment_service_spec.rb
303
+ - spec/services/worldpay_refund_service_spec.rb
304
+ - spec/services/worldpay_request_handler_service_spec.rb
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE paymentService PUBLIC "-//WorldPay//DTD WorldPay PaymentService v1//EN"
3
- "http://dtd.worldpay.com/paymentService_v1.dtd">
4
- <paymentService version="1.4" merchantCode="<%= @merchant_code %>"><reply><orderStatus orderCode="<%= @order_code %>"><reference id="<%= @worldpay_id %>"><%= @worldpay_url %></reference></orderStatus></reply></paymentService>
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module DefraRubyMocks
4
- class MissingRegistrationError < StandardError
5
- def initialize(reference)
6
- super("Could not find registration: #{reference}")
7
- end
8
- end
9
- end