gds-api-adapters 14.3.0 → 14.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -65,6 +65,7 @@ class GdsApi::ContentApi < GdsApi::Base
65
65
 
66
66
  url = "#{base_url}/with_tag.json?#{tag_key}=#{CGI.escape(tag)}"
67
67
  url << "&group_by=#{CGI.escape(options[:group_by])}" if options.has_key?(:group_by)
68
+ url << "&draft=true" if options[:draft]
68
69
 
69
70
  get_list!(url)
70
71
  end
@@ -101,6 +101,16 @@ module GdsApi
101
101
  body = plural_response_base.merge("results" => live_tags)
102
102
  url = "#{CONTENT_API_ENDPOINT}/tags.json?type=#{type}"
103
103
  stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
104
+
105
+ if options[:sort_order]
106
+ body = plural_response_base.merge("results" => (live_tags + draft_tags))
107
+ url = "#{CONTENT_API_ENDPOINT}/tags.json?type=#{type}&draft=true&sort=#{options[:sort_order]}"
108
+ stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
109
+
110
+ body = plural_response_base.merge("results" => live_tags)
111
+ url = "#{CONTENT_API_ENDPOINT}/tags.json?type=#{type}&sort=#{options[:sort_order]}"
112
+ stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
113
+ end
104
114
  end
105
115
 
106
116
  def content_api_does_not_have_tags(tag_type, slugs)
@@ -169,7 +179,9 @@ module GdsApi
169
179
  stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
170
180
  end
171
181
 
172
- def content_api_has_artefacts_with_a_tag(tag_type, slug, artefact_slugs=[])
182
+ def content_api_has_artefacts_with_a_tag(tag_type, slug, artefact_slugs=[], options={})
183
+ draft = options[:draft] || false
184
+
173
185
  body = plural_response_base.merge(
174
186
  "results" => artefact_slugs.map do |artefact_slug|
175
187
  artefact_for_slug(artefact_slug)
@@ -179,30 +191,58 @@ module GdsApi
179
191
  endpoint = "#{CONTENT_API_ENDPOINT}/with_tag.json"
180
192
  resp = { status: 200, body: body.to_json, headers: {} }
181
193
 
194
+ unless draft
195
+ stub_request(:get, endpoint)
196
+ .with(:query => { tag_type => slug })
197
+ .to_return(resp)
198
+
199
+ if tag_type == "section"
200
+ stub_request(:get, endpoint)
201
+ .with(:query => { "tag" => slug })
202
+ .to_return(resp)
203
+ end
204
+ end
205
+
182
206
  stub_request(:get, endpoint)
183
- .with(:query => { tag_type => slug })
207
+ .with(:query => { tag_type => slug, "draft" => "true" })
184
208
  .to_return(resp)
185
209
 
186
210
  if tag_type == "section"
187
211
  stub_request(:get, endpoint)
188
- .with(:query => { "tag" => slug })
212
+ .with(:query => { "tag" => slug, "draft" => "true" })
189
213
  .to_return(resp)
190
214
  end
191
215
 
192
216
  sort_orders = ["alphabetical", "curated"]
193
217
  sort_orders.each do |order|
218
+ unless draft
219
+ stub_request(:get, endpoint)
220
+ .with(:query => { tag_type => slug, "sort" => order })
221
+ .to_return(resp)
222
+
223
+ if tag_type == "section"
224
+ stub_request(:get, endpoint)
225
+ .with(:query => { "tag" => slug, "sort" => order })
226
+ .to_return(resp)
227
+ end
228
+ end
229
+
194
230
  stub_request(:get, endpoint)
195
- .with(:query => { tag_type => slug, "sort" => order })
231
+ .with(:query => { tag_type => slug, "sort" => order, "draft" => "true" })
196
232
  .to_return(resp)
197
233
 
198
234
  if tag_type == "section"
199
235
  stub_request(:get, endpoint)
200
- .with(:query => { "tag" => slug, "sort" => order })
236
+ .with(:query => { "tag" => slug, "sort" => order, "draft" => "true" })
201
237
  .to_return(resp)
202
238
  end
203
239
  end
204
240
  end
205
241
 
242
+ def content_api_has_artefacts_with_a_draft_tag(tag_type, slug, artefact_slugs=[])
243
+ content_api_has_artefacts_with_a_tag(tag_type, slug, artefact_slugs, draft: true)
244
+ end
245
+
206
246
  def content_api_has_sorted_artefacts_with_a_tag(tag_type, slug, sort_order, artefact_slugs=[])
207
247
  body = plural_response_base.merge(
208
248
  "results" => artefact_slugs.map do |artefact_slug|
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '14.3.0'
2
+ VERSION = '14.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 14.3.0
4
+ version: 14.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-09-01 00:00:00.000000000 Z
12
+ date: 2014-09-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
16
- requirement: &5464400 !ruby/object:Gem::Requirement
16
+ requirement: &19191440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *5464400
24
+ version_requirements: *19191440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: null_logger
27
- requirement: &5462760 !ruby/object:Gem::Requirement
27
+ requirement: &19189360 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *5462760
35
+ version_requirements: *19189360
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: link_header
38
- requirement: &5461220 !ruby/object:Gem::Requirement
38
+ requirement: &19279880 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *5461220
46
+ version_requirements: *19279880
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: lrucache
49
- requirement: &5551640 !ruby/object:Gem::Requirement
49
+ requirement: &19279180 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.1.1
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *5551640
57
+ version_requirements: *19279180
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rest-client
60
- requirement: &5550840 !ruby/object:Gem::Requirement
60
+ requirement: &19278520 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 1.6.3
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *5550840
68
+ version_requirements: *19278520
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rack-cache
71
- requirement: &5550380 !ruby/object:Gem::Requirement
71
+ requirement: &19277940 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :runtime
78
78
  prerelease: false
79
- version_requirements: *5550380
79
+ version_requirements: *19277940
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rdoc
82
- requirement: &5549680 !ruby/object:Gem::Requirement
82
+ requirement: &19277160 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - =
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: '3.12'
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *5549680
90
+ version_requirements: *19277160
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rake
93
- requirement: &5548920 !ruby/object:Gem::Requirement
93
+ requirement: &19276500 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 0.9.2.2
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *5548920
101
+ version_requirements: *19276500
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: webmock
104
- requirement: &5548300 !ruby/object:Gem::Requirement
104
+ requirement: &19275760 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ~>
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '1.8'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *5548300
112
+ version_requirements: *19275760
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: mocha
115
- requirement: &5547600 !ruby/object:Gem::Requirement
115
+ requirement: &19275040 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ~>
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: 0.12.4
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *5547600
123
+ version_requirements: *19275040
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: minitest
126
- requirement: &5546880 !ruby/object:Gem::Requirement
126
+ requirement: &19274420 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ~>
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: 3.4.0
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *5546880
134
+ version_requirements: *19274420
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: rack
137
- requirement: &5546360 !ruby/object:Gem::Requirement
137
+ requirement: &19273800 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *5546360
145
+ version_requirements: *19273800
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: rack-test
148
- requirement: &5545360 !ruby/object:Gem::Requirement
148
+ requirement: &19273100 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *5545360
156
+ version_requirements: *19273100
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: simplecov
159
- requirement: &5192280 !ruby/object:Gem::Requirement
159
+ requirement: &19402660 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ~>
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: 0.5.4
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *5192280
167
+ version_requirements: *19402660
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: simplecov-rcov
170
- requirement: &5190900 !ruby/object:Gem::Requirement
170
+ requirement: &19401440 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,10 +175,10 @@ dependencies:
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *5190900
178
+ version_requirements: *19401440
179
179
  - !ruby/object:Gem::Dependency
180
180
  name: gem_publisher
181
- requirement: &5188920 !ruby/object:Gem::Requirement
181
+ requirement: &19399240 !ruby/object:Gem::Requirement
182
182
  none: false
183
183
  requirements:
184
184
  - - ~>
@@ -186,10 +186,10 @@ dependencies:
186
186
  version: 1.1.1
187
187
  type: :development
188
188
  prerelease: false
189
- version_requirements: *5188920
189
+ version_requirements: *19399240
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: timecop
192
- requirement: &5187820 !ruby/object:Gem::Requirement
192
+ requirement: &19397860 !ruby/object:Gem::Requirement
193
193
  none: false
194
194
  requirements:
195
195
  - - ~>
@@ -197,7 +197,7 @@ dependencies:
197
197
  version: 0.5.1
198
198
  type: :development
199
199
  prerelease: false
200
- version_requirements: *5187820
200
+ version_requirements: *19397860
201
201
  description: A set of adapters providing easy access to the GDS GOV.UK APIs
202
202
  email:
203
203
  - jystewart@gmail.com
@@ -328,7 +328,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
328
328
  version: '0'
329
329
  segments:
330
330
  - 0
331
- hash: 215301875620449452
331
+ hash: 4088436010301206463
332
332
  required_rubygems_version: !ruby/object:Gem::Requirement
333
333
  none: false
334
334
  requirements:
@@ -337,7 +337,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
337
337
  version: '0'
338
338
  segments:
339
339
  - 0
340
- hash: 215301875620449452
340
+ hash: 4088436010301206463
341
341
  requirements: []
342
342
  rubyforge_project:
343
343
  rubygems_version: 1.8.11