glimr-api-client 0.1.1 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f9b1649059dd34a489cea5d127b74ab4d77c9b80
4
- data.tar.gz: 314780ce5f8417fbd826c7f4b27b92101dab6b7f
3
+ metadata.gz: 9d090c08e733fa1980327591baf348705a15ef1a
4
+ data.tar.gz: 7f0fc6d4e7940a860a92e7b551520a29c7692b35
5
5
  SHA512:
6
- metadata.gz: 49eda5c235322afdb5367be307274176cbb56687174e0b204b68c4260d8f9bdd4fe4fc4f84516293ce1bd5befc54cf2b7b863ecf5971b3f145ebe9d3b5ba8f48
7
- data.tar.gz: 1218ee70d25f91c2f546e2b7e19544aa586acbb160f96f2b2b7ff974085a843374f173ab53fb08379fac84c49f98468a967494f17c6bfcbe10ecd87aad4ff218
6
+ metadata.gz: 3f3bd5682bec9f2c78a9c299b22847532d93f0dd35c2a43891d9e9b3a4811fb99b117f232f4dde2a0cf93c274e229ab091a3c90c87a7b5b5aab05998c272ca9c
7
+ data.tar.gz: 489f72535fda5e5e17f8ea2a8040690df0c0bc23091bdb1e31625ba8fcb02d0346865f0f25ba67a245b8afa65f0ba0877befa9c7db026a98b70ebe7957c0999d
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- glimr-api-client (0.1.1)
4
+ glimr-api-client (0.1.3)
5
5
  excon (~> 0.51)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -76,30 +76,11 @@ $ gem install glimr-api-client
76
76
  Run `bundle rake` in the gem source directory for a full set of specs,
77
77
  mutation tests and rubocop checks.
78
78
 
79
- ### Shared examples
79
+ ### In an application
80
80
 
81
- The gem can install a set of shared examples in your app that will stub
82
- a sensible set of API calls using Excon’s stubbing functionality. To
83
- install these, install the gem, make sure you have the `spec/support`
84
- subdirectory then run:
85
-
86
- ```ruby
87
- bundle exec rake rake glimr_api_client:install_shared_examples
88
- ```
89
-
90
- This will install `spec/support/shared_examples_for_glimr.rb`.
91
-
92
- Lastly, add these lines to `spec/rails_helper`:
93
-
94
- ```ruby
95
- config.before(:all) do
96
- Excon.defaults[:mock] = true
97
- end
98
-
99
- config.after(:each) do
100
- Excon.stubs.clear
101
- end
102
- ```
81
+ Examples of how this gem might be used can be found in the specs. There
82
+ is also a set of RSpec shared examples that can be copied and modified.
83
+ These can be found in `spec/suppport/shared_examples_for_govpay.rb`.
103
84
 
104
85
  ## Contributing
105
86
 
@@ -113,6 +94,7 @@ Make sure the tests pass:
113
94
 
114
95
  ```bash
115
96
  bundle
97
+ bundle db:setup
116
98
  bundle exec rake
117
99
  ```
118
100
 
@@ -1,4 +1,3 @@
1
- require 'glimr_api_client/railtie' if defined?(Rails)
2
1
  require 'glimr_api_client/version'
3
2
  require 'glimr_api_client/api'
4
3
  require 'glimr_api_client/available'
@@ -1,3 +1,3 @@
1
1
  module GlimrApiClient
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimr-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Tyree
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-01 00:00:00.000000000 Z
11
+ date: 2016-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -201,13 +201,10 @@ files:
201
201
  - lib/glimr_api_client/api.rb
202
202
  - lib/glimr_api_client/available.rb
203
203
  - lib/glimr_api_client/case.rb
204
- - lib/glimr_api_client/railtie.rb
205
204
  - lib/glimr_api_client/update.rb
206
205
  - lib/glimr_api_client/version.rb
207
206
  - lib/tasks/mutant.rake
208
207
  - lib/tasks/rubocop.rake
209
- - lib/tasks/spec_setup.rake
210
- - shared_examples/shared_examples_for_glimr.rb
211
208
  homepage: https://github.com/ministryofjustice/glimr-api-client
212
209
  licenses:
213
210
  - MIT
@@ -1,11 +0,0 @@
1
- require 'glimr_api_client'
2
- require 'rails'
3
- module GlimrApiClient
4
- class Railtie < Rails::Railtie
5
- railtie_name :glimr_api_client
6
-
7
- rake_tasks do
8
- load 'tasks/spec_setup.rake'
9
- end
10
- end
11
- end
@@ -1,11 +0,0 @@
1
- namespace :glimr_api_client do
2
- desc 'Copy the shared examples for glimr rspec testing'
3
- task :install_shared_examples
4
- source = File.join(
5
- Gem.loaded_specs['glimr-api-client'].full_gem_path,
6
- 'shared_examples',
7
- 'shared_examples_for_glimr.rb'
8
- )
9
- target = File.join(Rails.root, 'spec', 'support', 'shared_examples_for_glimr.rb')
10
- FileUtils.cp_r source, target
11
- end
@@ -1,212 +0,0 @@
1
- RSpec.shared_examples 'glimr availability request' do |glimr_response|
2
- before do
3
- Excon.stub(
4
- { host: 'glimr-test.dsd.io', path: '/glimravailable' },
5
- status: 200, body: glimr_response.to_json
6
- )
7
- end
8
- end
9
-
10
- RSpec.shared_examples 'glimr availability request returns a 500' do
11
- before do
12
- Excon.stub(
13
- { host: 'glimr-test.dsd.io', path: '/glimravailable' },
14
- status: 500
15
- )
16
- end
17
- end
18
-
19
- RSpec.shared_examples 'service is not available' do
20
- scenario do
21
- visit '/'
22
- expect(page).not_to have_text('Start now')
23
- expect(page).to have_text('The service is currently unavailable')
24
- end
25
- end
26
-
27
- RSpec.shared_examples 'generic glimr response' do |case_number, _confirmation_code, status, glimr_response|
28
- before do
29
- Excon.stub(
30
- {
31
- host: 'glimr-test.dsd.io',
32
- body: /caseNumber=#{CGI.escape(case_number)}/,
33
- path: '/requestpayablecasefees'
34
- },
35
- status: status, body: glimr_response.to_json
36
- )
37
- end
38
- end
39
-
40
- RSpec.shared_examples 'case not found' do
41
- before do
42
- Excon.stub(
43
- {
44
- host: 'glimr-test.dsd.io',
45
- path: '/requestpayablecasefees'
46
- },
47
- status: 404
48
- )
49
- end
50
- end
51
-
52
- RSpec.shared_examples 'no new fees are due' do |case_number, _confirmation_code|
53
- let(:response_body) {
54
- {
55
- 'jurisdictionId' => 8,
56
- 'tribunalCaseId' => 60_029,
57
- 'caseTitle' => 'You vs HM Revenue & Customs',
58
- 'feeLiabilities' => []
59
- }
60
- }
61
-
62
- before do
63
- Excon.stub(
64
- {
65
- host: 'glimr-test.dsd.io',
66
- body: /caseNumber=#{CGI.escape(case_number)}/,
67
- path: '/requestpayablecasefees'
68
- },
69
- status: 200, body: response_body.to_json
70
- )
71
- end
72
- end
73
-
74
- RSpec.shared_examples 'a case fee of £20 is due' do |case_number, _confirmation_code|
75
- let(:response_body) {
76
- {
77
- 'jurisdictionId' => 8,
78
- 'tribunalCaseId' => 60_029,
79
- 'caseTitle' => 'You vs HM Revenue & Customs',
80
- 'feeLiabilities' =>
81
- [{ 'feeLiabilityId' => '7',
82
- 'onlineFeeTypeDescription' => 'Lodgement Fee',
83
- 'payableWithUnclearedInPence' => '2000' }]
84
- }.to_json
85
- }
86
-
87
- before do
88
- Excon.stub(
89
- {
90
- method: :post,
91
- host: 'glimr-test.dsd.io',
92
- body: /caseNumber=#{CGI.escape(case_number)}&jurisdictionId=8/,
93
- path: '/requestpayablecasefees'
94
- },
95
- status: 200, body: response_body
96
- )
97
- end
98
- end
99
-
100
- RSpec.shared_examples 'no fees then a £20 fee' do |case_number, _confirmation_code|
101
- let(:no_fees) {
102
- {
103
- 'jurisdictionId' => 8,
104
- 'tribunalCaseId' => 60_029,
105
- 'caseTitle' => 'You vs HM Revenue & Customs',
106
- 'feeLiabilities' => []
107
- }
108
- }
109
-
110
- let(:twenty_pound_fee) {
111
- {
112
- 'jurisdictionId' => 8,
113
- 'tribunalCaseId' => 60_029,
114
- 'caseTitle' => 'You vs HM Revenue & Customs',
115
- 'feeLiabilities' =>
116
- [{ 'feeLiabilityId' => 7,
117
- 'onlineFeeTypeDescription' => 'Lodgement Fee',
118
- 'payableWithUnclearedInPence' => 2000 }]
119
- }
120
- }
121
-
122
- before do
123
- Excon.stub(
124
- {
125
- method: :post,
126
- host: 'glimr-test.dsd.io',
127
- body: /caseNumber=#{CGI.escape(case_number)}/,
128
- path: '/requestpayablecasefees'
129
- },
130
- status: 200, body: no_fees.to_json
131
- )
132
-
133
- Excon.stub(
134
- {
135
- method: :post,
136
- host: 'glimr-test.dsd.io',
137
- body: /caseNumber=#{CGI.escape(case_number)}/,
138
- path: '/requestpayablecasefees'
139
- },
140
- status: 200, body: twenty_pound_fee.to_json
141
- )
142
- end
143
- end
144
-
145
- RSpec.shared_examples 'report payment taken to glimr' do |req_body|
146
- let(:paymenttaken_response) {
147
- {
148
- feeLiabilityId: 1234,
149
- feeTransactionId: 1234,
150
- paidAmountInPence: 9999
151
- }
152
- }
153
-
154
- before do
155
- Excon.stub(
156
- {
157
- method: :post,
158
- host: 'glimr-test.dsd.io',
159
- body: req_body,
160
- path: '/paymenttaken'
161
- },
162
- status: 200, body: paymenttaken_response.to_json
163
- )
164
- end
165
- end
166
-
167
- RSpec.shared_examples 'glimr fee_paid returns a 500' do
168
- before do
169
- Excon.stub(
170
- {
171
- method: :post,
172
- host: 'glimr-test.dsd.io',
173
- path: '/paymenttaken'
174
- },
175
- status: 500
176
- )
177
- end
178
- end
179
-
180
- RSpec.shared_examples 'glimr times out' do
181
- let(:glimr_check) {
182
- class_double(Excon, 'glimr availability')
183
- }
184
-
185
- before do
186
- expect(glimr_check).
187
- to receive(:post).
188
- with(path: '/glimravailable', body: '').
189
- and_raise(Excon::Errors::Timeout)
190
-
191
- expect(Excon).to receive(:new).
192
- with(Rails.configuration.glimr_api_url, anything).
193
- and_return(glimr_check)
194
- end
195
- end
196
-
197
- RSpec.shared_examples 'glimr has a socket error' do
198
- let(:glimr_check) {
199
- class_double(Excon, 'glimr availability')
200
- }
201
-
202
- before do
203
- expect(glimr_check).
204
- to receive(:post).
205
- with(path: '/glimravailable', body: '').
206
- and_raise(Excon::Errors::SocketError)
207
-
208
- expect(Excon).to receive(:new).
209
- with('https://glimr-test.dsd.io', anything).
210
- and_return(glimr_check)
211
- end
212
- end