gds-api-adapters 8.2.3 → 8.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,11 @@
1
+ require_relative '../base'
2
+
3
+ module GdsApi
4
+ module PerformancePlatform
5
+ class DataIn < GdsApi::Base
6
+ def submit_service_feedback_day_aggregate(slug, request_details)
7
+ post_json!("#{endpoint}/#{slug}_customer_satisfaction", request_details)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module GdsApi
2
+ module TestHelpers
3
+ module PerformancePlatform
4
+ module DataIn
5
+ PP_DATA_IN_ENDPOINT = "http://www.performance.dev.gov.uk"
6
+
7
+ def stub_service_feedback_day_aggregate_submission(slug, request_body = nil)
8
+ post_stub = stub_http_request(:post, "#{PP_DATA_IN_ENDPOINT}/#{slug}_customer_satisfaction")
9
+ post_stub.with(body: request_body) unless request_body.nil?
10
+ post_stub.to_return(:status => 200)
11
+ end
12
+
13
+ def stub_service_feedback_bucket_unavailable_for(slug)
14
+ stub_request(:post, "#{PP_DATA_IN_ENDPOINT}/#{slug}_customer_satisfaction").to_return(:status => 404)
15
+ end
16
+
17
+ def stub_pp_isnt_available
18
+ stub_request(:post, /#{PP_DATA_IN_ENDPOINT}\/.*/).to_return(:status => 503)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '8.2.3'
2
+ VERSION = '8.3.0'
3
3
  end
@@ -0,0 +1,32 @@
1
+ require 'test_helper'
2
+ require 'gds_api/performance_platform/data_in'
3
+ require 'gds_api/test_helpers/performance_platform/data_in'
4
+
5
+ describe GdsApi::PerformancePlatform::DataIn do
6
+ include GdsApi::TestHelpers::PerformancePlatform::DataIn
7
+
8
+ before do
9
+ @base_api_url = GdsApi::TestHelpers::PerformancePlatform::DataIn::PP_DATA_IN_ENDPOINT
10
+ @api = GdsApi::PerformancePlatform::DataIn.new(@base_api_url)
11
+ end
12
+
13
+ it "can submit a day aggregate for service feedback for a particular slug" do
14
+ request_details = {"some"=> "data"}
15
+
16
+ stub_post = stub_service_feedback_day_aggregate_submission("some_slug", request_details)
17
+
18
+ @api.submit_service_feedback_day_aggregate("some_slug", request_details)
19
+
20
+ assert_requested(stub_post)
21
+ end
22
+
23
+ it "throws an exception when the support app isn't available" do
24
+ stub_pp_isnt_available
25
+ assert_raises(GdsApi::HTTPErrorResponse) { @api.submit_service_feedback_day_aggregate("doesnt_matter", {}) }
26
+ end
27
+
28
+ it "throws an exception when the the bucket for that slug hasn't been defined" do
29
+ stub_service_feedback_bucket_unavailable_for("some_transaction")
30
+ assert_raises(GdsApi::HTTPNotFound) { @api.submit_service_feedback_day_aggregate("some_transaction", {}) }
31
+ end
32
+ 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: 8.2.3
4
+ version: 8.3.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: 2014-01-14 00:00:00.000000000 Z
12
+ date: 2014-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: plek
@@ -281,6 +281,7 @@ files:
281
281
  - lib/gds_api/need_api.rb
282
282
  - lib/gds_api/railtie.rb
283
283
  - lib/gds_api/exceptions.rb
284
+ - lib/gds_api/performance_platform/data_in.rb
284
285
  - lib/gds_api/json_client.rb
285
286
  - lib/gds_api/base.rb
286
287
  - lib/gds_api/licence_application.rb
@@ -290,6 +291,7 @@ files:
290
291
  - lib/gds_api/test_helpers/support.rb
291
292
  - lib/gds_api/test_helpers/need_api.rb
292
293
  - lib/gds_api/test_helpers/content_api/artefact_stub.rb
294
+ - lib/gds_api/test_helpers/performance_platform/data_in.rb
293
295
  - lib/gds_api/test_helpers/licence_application.rb
294
296
  - lib/gds_api/test_helpers/organisations.rb
295
297
  - lib/gds_api/test_helpers/imminence.rb
@@ -327,6 +329,7 @@ files:
327
329
  - Rakefile
328
330
  - test/support_api_test.rb
329
331
  - test/mapit_test.rb
332
+ - test/pp_data_in_test.rb
330
333
  - test/need_api_test.rb
331
334
  - test/publisher_api_test.rb
332
335
  - test/fact_cave_test.rb
@@ -364,7 +367,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
364
367
  version: '0'
365
368
  segments:
366
369
  - 0
367
- hash: 2889202299403789685
370
+ hash: -354225401793444453
368
371
  required_rubygems_version: !ruby/object:Gem::Requirement
369
372
  none: false
370
373
  requirements:
@@ -373,7 +376,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
373
376
  version: '0'
374
377
  segments:
375
378
  - 0
376
- hash: 2889202299403789685
379
+ hash: -354225401793444453
377
380
  requirements: []
378
381
  rubyforge_project:
379
382
  rubygems_version: 1.8.23
@@ -383,6 +386,7 @@ summary: Adapters to work with GDS APIs
383
386
  test_files:
384
387
  - test/support_api_test.rb
385
388
  - test/mapit_test.rb
389
+ - test/pp_data_in_test.rb
386
390
  - test/need_api_test.rb
387
391
  - test/publisher_api_test.rb
388
392
  - test/fact_cave_test.rb