gds-api-adapters 36.0.1 → 36.1.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.
- checksums.yaml +4 -4
- data/lib/gds_api/support_api.rb +71 -0
- data/lib/gds_api/test_helpers/support_api.rb +12 -0
- data/lib/gds_api/version.rb +1 -1
- data/test/support_api_test.rb +25 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bcbac32e46d147fa75d158358e3f43b858dc717f
|
4
|
+
data.tar.gz: f0085c380372ea653dbe604d12b956ce47cfb6c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 777ae29ce2fd0b642452b4bf84c292a0aa2b198b1945ddccfce464841c6c119ac912e8308b228fd8dceee1ef4185e0809b7eeaf8ca6e2c155b4e8f6495724a35
|
7
|
+
data.tar.gz: 5a7182ee26869c0ee8da18208538a3032a5501980109974bea46f482ee5ab40d570dacfc1f0236cbd90f877ca20faef423fed7369b51db91370a7c63d7036f0d
|
data/lib/gds_api/support_api.rb
CHANGED
@@ -47,4 +47,75 @@ class GdsApi::SupportApi < GdsApi::Base
|
|
47
47
|
def feedback_export_request(id)
|
48
48
|
get_json!("#{endpoint}/anonymous-feedback/export-requests/#{id}")
|
49
49
|
end
|
50
|
+
|
51
|
+
# Fetch a list of problem reports.
|
52
|
+
#
|
53
|
+
# Makes a +GET+ request.
|
54
|
+
#
|
55
|
+
# If no options are supplied, the first page of unreviewed feedback is returned.
|
56
|
+
#
|
57
|
+
# The results are ordered date descending.
|
58
|
+
#
|
59
|
+
# # ==== Options [+Hash+]
|
60
|
+
#
|
61
|
+
# * +:from_date+ - from date for list of reports.
|
62
|
+
# * +:to_date+ - to date for list of reports.
|
63
|
+
# * +:page+ - page number for reports.
|
64
|
+
# * +:include_reviewed+ - if true, includes reviewed reports in the list.
|
65
|
+
#
|
66
|
+
# # @example
|
67
|
+
#
|
68
|
+
# support_api.problem_reports({ from_date: '2016-12-12', to_date: '2016-12-13', page: 1, include_reviewed: true }).to_h
|
69
|
+
#
|
70
|
+
# #=> {
|
71
|
+
# results: [
|
72
|
+
# {
|
73
|
+
# id: 1,
|
74
|
+
# type: "problem-report",
|
75
|
+
# what_wrong: "Yeti",
|
76
|
+
# what_doing: "Skiing",
|
77
|
+
# url: "http://www.dev.gov.uk/skiing",
|
78
|
+
# referrer: "https://www.gov.uk/browse",
|
79
|
+
# user_agent: "Safari",
|
80
|
+
# path: "/skiing",
|
81
|
+
# marked_as_spam: false,
|
82
|
+
# reviewed: true,
|
83
|
+
# created_at: "2015-01-01T16:00:00.000Z"
|
84
|
+
# },
|
85
|
+
# ...
|
86
|
+
# ]
|
87
|
+
# total_count: 1000,
|
88
|
+
# current_page: 1,
|
89
|
+
# pages: 50,
|
90
|
+
# page_size: 50
|
91
|
+
# }
|
92
|
+
def problem_reports(options = {})
|
93
|
+
uri = "#{endpoint}/anonymous-feedback/problem-reports" + query_string(options)
|
94
|
+
get_json!(uri)
|
95
|
+
end
|
96
|
+
|
97
|
+
# Update multiple problem reports as reviewed for spam.
|
98
|
+
#
|
99
|
+
# Makes a +PUT+ request.
|
100
|
+
#
|
101
|
+
# @param request_details [Hash] Containing keys that match IDs of Problem
|
102
|
+
# Reports mapped to a boolean value - true if
|
103
|
+
# that report is to be marked as spam, or false otherwise.
|
104
|
+
#
|
105
|
+
# # @example
|
106
|
+
#
|
107
|
+
# support_api.mark_reviewed_for_spam({ "1" => false, "2" => true }).to_h
|
108
|
+
#
|
109
|
+
# #=> { "success" => true } (status: 200)
|
110
|
+
#
|
111
|
+
# # @example
|
112
|
+
#
|
113
|
+
# Where there is no problem report with ID of 1.
|
114
|
+
#
|
115
|
+
# support_api.mark_reviewed_for_spam({ "1" => true }).to_h
|
116
|
+
#
|
117
|
+
# #=> { "success" => false} (status: 400)
|
118
|
+
def mark_reviewed_for_spam(request_details)
|
119
|
+
put_json!("#{endpoint}/anonymous-feedback/problem-reports/mark-reviewed-for-spam", { reviewed_problem_report_ids: request_details })
|
120
|
+
end
|
50
121
|
end
|
@@ -44,6 +44,18 @@ module GdsApi
|
|
44
44
|
get_stub.to_return(response)
|
45
45
|
end
|
46
46
|
|
47
|
+
def stub_support_problem_reports(params, response_body = {})
|
48
|
+
stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports").
|
49
|
+
with(query: params).
|
50
|
+
to_return(status: 200, body: response_body.to_json)
|
51
|
+
end
|
52
|
+
|
53
|
+
def stub_support_mark_reviewed_for_spam(request_details = nil, response_body = {})
|
54
|
+
post_stub = stub_http_request(:put, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports/mark-reviewed-for-spam")
|
55
|
+
post_stub.with(:body => { reviewed_problem_report_ids: request_details}) unless request_details.nil?
|
56
|
+
post_stub.to_return(status: 200, body: response_body.to_json)
|
57
|
+
end
|
58
|
+
|
47
59
|
def support_api_isnt_available
|
48
60
|
stub_request(:post, /#{SUPPORT_API_ENDPOINT}\/.*/).to_return(:status => 503)
|
49
61
|
end
|
data/lib/gds_api/version.rb
CHANGED
data/test/support_api_test.rb
CHANGED
@@ -71,7 +71,7 @@ describe GdsApi::SupportApi do
|
|
71
71
|
page: 55,
|
72
72
|
)
|
73
73
|
|
74
|
-
|
74
|
+
@api.anonymous_feedback(
|
75
75
|
path_prefix: "/vat-rates",
|
76
76
|
page: 55,
|
77
77
|
)
|
@@ -112,7 +112,7 @@ describe GdsApi::SupportApi do
|
|
112
112
|
assert_requested(stub_post)
|
113
113
|
end
|
114
114
|
end
|
115
|
-
|
115
|
+
|
116
116
|
describe "POST /anonymous-feedback/global-export-requests" do
|
117
117
|
it "makes a POST request to the support API" do
|
118
118
|
params = {from_date: "1 June 2016", to_date: "8 June 2016", notification_email: "foo@example.com"}
|
@@ -152,4 +152,27 @@ describe GdsApi::SupportApi do
|
|
152
152
|
assert_requested(stub_get)
|
153
153
|
end
|
154
154
|
end
|
155
|
+
|
156
|
+
describe "GET /anonymous-feedback/problem-reports" do
|
157
|
+
it "fetches a list of problem reports" do
|
158
|
+
params = { from_date: '2016-12-12', to_date: '2016-12-13', page: 1, exclude_reviewed: true }
|
159
|
+
stub_get = stub_support_problem_reports(params)
|
160
|
+
|
161
|
+
@api.problem_reports(params)
|
162
|
+
|
163
|
+
assert_requested(stub_get)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
|
167
|
+
describe "POST /anonymous-feedback/problem-reports/mark-reviewed-for-spam" do
|
168
|
+
it "makes a PUT request to the support API" do
|
169
|
+
params = { "1" => true, "2" => true }
|
170
|
+
|
171
|
+
stub_post = stub_support_mark_reviewed_for_spam(params)
|
172
|
+
|
173
|
+
@api.mark_reviewed_for_spam(params)
|
174
|
+
|
175
|
+
assert_requested(stub_post)
|
176
|
+
end
|
177
|
+
end
|
155
178
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gds-api-adapters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 36.0
|
4
|
+
version: 36.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Stewart
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: plek
|