gds-api-adapters 7.20.0 → 7.21.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -43,6 +43,10 @@ class GdsApi::ContentApi < GdsApi::Base
43
43
  get_list!("#{base_url}/with_tag.json?tag=#{CGI.escape(tag)}&sort=#{sort_by}")
44
44
  end
45
45
 
46
+ def for_need(need_id)
47
+ get_list("#{base_url}/for_need/#{CGI.escape(need_id.to_s)}.json")
48
+ end
49
+
46
50
  def artefact(slug, params={})
47
51
  url = "#{base_url}/#{CGI.escape(slug)}.json"
48
52
  query = params.map { |k,v| "#{k}=#{v}" }
@@ -296,6 +296,15 @@ module GdsApi
296
296
  raise "Need a licence identifier" if details[:licence_identifier].nil?
297
297
  @stubbed_content_api_licences << details
298
298
  end
299
+
300
+ def content_api_has_artefacts_for_need_id(need_id, artefacts)
301
+ url = "#{CONTENT_API_ENDPOINT}/for_need/#{CGI.escape(need_id.to_s)}.json"
302
+ body = plural_response_base.merge(
303
+ 'results' => artefacts
304
+ )
305
+
306
+ stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: [])
307
+ end
299
308
  end
300
309
  end
301
310
  end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '7.20.0'
2
+ VERSION = '7.21.0'
3
3
  end
@@ -254,6 +254,22 @@ describe GdsApi::ContentApi do
254
254
  end
255
255
  end
256
256
 
257
+ describe "artefacts for need" do
258
+ it "should fetch artefacts with a given need id" do
259
+ content_api_has_artefacts_for_need_id(100123, [
260
+ { "format" => "answer", "web_url" => "http://www.gov.uk/burrito" },
261
+ { "format" => "guide", "web_url" => "http://www.gov.uk/burrito-standard" },
262
+ { "format" => "transaction", "web_url" => "http://www.gov.uk/local-burrito-place" }
263
+ ])
264
+
265
+ response = @api.for_need(100123)
266
+
267
+ assert_equal 3, response.count
268
+ assert_equal ["http://www.gov.uk/burrito", "http://www.gov.uk/burrito-standard", "http://www.gov.uk/local-burrito-place" ], response.map(&:web_url)
269
+ assert_equal ["answer", "guide", "transaction" ], response.map(&:format)
270
+ end
271
+ end
272
+
257
273
  describe "tags" do
258
274
  it "should produce an artefact with the provided tag" do
259
275
  tag = "crime-and-justice"
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: 7.20.0
4
+ version: 7.21.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-18 00:00:00.000000000 Z
12
+ date: 2013-11-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
@@ -340,7 +340,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
340
340
  version: '0'
341
341
  segments:
342
342
  - 0
343
- hash: -2601990448612617871
343
+ hash: -669457376295499095
344
344
  required_rubygems_version: !ruby/object:Gem::Requirement
345
345
  none: false
346
346
  requirements:
@@ -349,7 +349,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
349
  version: '0'
350
350
  segments:
351
351
  - 0
352
- hash: -2601990448612617871
352
+ hash: -669457376295499095
353
353
  requirements: []
354
354
  rubyforge_project:
355
355
  rubygems_version: 1.8.23