Module: GdsApi::TestHelpers::SupportApi
- Extended by:
- AliasDeprecated
- Defined in:
- lib/gds_api/test_helpers/support_api.rb
Constant Summary collapse
- SUPPORT_API_ENDPOINT =
Plek.current.find("support-api")
Instance Method Summary collapse
- #stub_any_support_api_call ⇒ Object
- #stub_support_api_anonymous_feedback(params, response_body = {}) ⇒ Object
- #stub_support_api_anonymous_feedback_doc_type_summary(document_type, ordering = nil, response_body = nil) ⇒ Object
- #stub_support_api_anonymous_feedback_organisation_summary(slug, ordering = nil, response_body = {}) ⇒ Object
- #stub_support_api_create_content_improvement_feedback(params) ⇒ Object
- #stub_support_api_create_page_improvement(params) ⇒ Object
- #stub_support_api_document_type_list(response_body = nil) ⇒ Object
- #stub_support_api_feedback_by_day(date, page, per_page, response_body = { results: [] }) ⇒ Object
- #stub_support_api_feedback_export_request(id, response_body = nil) ⇒ Object
- #stub_support_api_feedback_export_request_creation(request_details = nil) ⇒ Object
- #stub_support_api_global_export_request_creation(request_details = nil) ⇒ Object
- #stub_support_api_isnt_available ⇒ Object
- #stub_support_api_long_form_anonymous_contact_creation(request_details = nil) ⇒ Object
- #stub_support_api_mark_reviewed_for_spam(request_details = nil, response_body = {}) ⇒ Object
- #stub_support_api_organisation(slug = "cabinet-office", response_body = nil) ⇒ Object
- #stub_support_api_organisations_list(response_body = nil) ⇒ Object
- #stub_support_api_problem_report_creation(request_details = nil) ⇒ Object
- #stub_support_api_problem_report_daily_totals_for(date, expected_results = nil) ⇒ Object
- #stub_support_api_problem_reports(params, response_body = {}) ⇒ Object
- #stub_support_api_service_feedback_creation(feedback_details = nil) ⇒ Object
Methods included from AliasDeprecated
Instance Method Details
#stub_any_support_api_call ⇒ Object
155 156 157 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 155 def stub_any_support_api_call stub_request(:any, %r{\A#{SUPPORT_API_ENDPOINT}}) end |
#stub_support_api_anonymous_feedback(params, response_body = {}) ⇒ Object
83 84 85 86 87 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 83 def stub_support_api_anonymous_feedback(params, response_body = {}) stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback") .with(body: params) .to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_anonymous_feedback_doc_type_summary(document_type, ordering = nil, response_body = nil) ⇒ Object
138 139 140 141 142 143 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 138 def stub_support_api_anonymous_feedback_doc_type_summary(document_type, ordering = nil, response_body = nil) uri = "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/document-types/#{document_type}" uri << "?ordering=#{ordering}" if ordering stub_http_request(:get, uri). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_anonymous_feedback_organisation_summary(slug, ordering = nil, response_body = {}) ⇒ Object
89 90 91 92 93 94 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 89 def stub_support_api_anonymous_feedback_organisation_summary(slug, ordering = nil, response_body = {}) uri = "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/organisations/#{slug}" uri << "?ordering=#{ordering}" if ordering stub_http_request(:get, uri). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_create_content_improvement_feedback(params) ⇒ Object
53 54 55 56 57 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 53 def stub_support_api_create_content_improvement_feedback(params) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/content_improvement") post_stub.with(body: params) post_stub.to_return(status: 201) end |
#stub_support_api_create_page_improvement(params) ⇒ Object
47 48 49 50 51 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 47 def stub_support_api_create_page_improvement(params) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/page-improvements") post_stub.with(body: params) post_stub.to_return(status: 201) end |
#stub_support_api_document_type_list(response_body = nil) ⇒ Object
131 132 133 134 135 136 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 131 def stub_support_api_document_type_list(response_body = nil) response_body ||= %w(case_study detailed_guide smart_answer) stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/document-types"). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_feedback_by_day(date, page, per_page, response_body = { results: [] }) ⇒ Object
35 36 37 38 39 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 35 def stub_support_api_feedback_by_day(date, page, per_page, response_body = { results: [] }) date_string = date.strftime("%Y-%m-%d") get_stub = stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/feedback-by-day/#{date_string}?page=#{page}&per_page=#{per_page}") get_stub.to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_feedback_export_request(id, response_body = nil) ⇒ Object
145 146 147 148 149 150 151 152 153 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 145 def stub_support_api_feedback_export_request(id, response_body = nil) response_body ||= { filename: "feedex_0000-00-00_2015-01-01.csv", ready: true, } stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/export-requests/#{id}"). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_feedback_export_request_creation(request_details = nil) ⇒ Object
29 30 31 32 33 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 29 def stub_support_api_feedback_export_request_creation(request_details = nil) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/export-requests") post_stub.with(body: { export_request: request_details }) unless request_details.nil? post_stub.to_return(status: 202) end |
#stub_support_api_global_export_request_creation(request_details = nil) ⇒ Object
41 42 43 44 45 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 41 def stub_support_api_global_export_request_creation(request_details = nil) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/global-export-requests") post_stub.with(body: { global_export_request: request_details }) unless request_details.nil? post_stub.to_return(status: 202) end |
#stub_support_api_isnt_available ⇒ Object
79 80 81 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 79 def stub_support_api_isnt_available stub_request(:post, /#{SUPPORT_API_ENDPOINT}\/.*/).to_return(status: 503) end |
#stub_support_api_long_form_anonymous_contact_creation(request_details = nil) ⇒ Object
23 24 25 26 27 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 23 def stub_support_api_long_form_anonymous_contact_creation(request_details = nil) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/long-form-contacts") post_stub.with(body: { long_form_contact: request_details }) unless request_details.nil? post_stub.to_return(status: 202) end |
#stub_support_api_mark_reviewed_for_spam(request_details = nil, response_body = {}) ⇒ Object
73 74 75 76 77 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 73 def stub_support_api_mark_reviewed_for_spam(request_details = nil, response_body = {}) post_stub = stub_http_request(:put, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports/mark-reviewed-for-spam") post_stub.with(body: { reviewed_problem_report_ids: request_details }) unless request_details.nil? post_stub.to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_organisation(slug = "cabinet-office", response_body = nil) ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 118 def stub_support_api_organisation(slug = "cabinet-office", response_body = nil) response_body ||= { slug: slug, web_url: "https://www.gov.uk/government/organisations/#{slug}", title: "Cabinet Office", acronym: "CO", govuk_status: "live", } stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/organisations/#{slug}"). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_organisations_list(response_body = nil) ⇒ Object
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 96 def stub_support_api_organisations_list(response_body = nil) response_body ||= [ { slug: "cabinet-office", web_url: "https://www.gov.uk/government/organisations/cabinet-office", title: "Cabinet Office", acronym: "CO", govuk_status: "live", }, { slug: "gds", web_url: "https://www.gov.uk/government/organisations/gds", title: "Government Digital Service", acronym: "GDS", govuk_status: "live", }, ] stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/organisations"). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_problem_report_creation(request_details = nil) ⇒ Object
11 12 13 14 15 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 11 def stub_support_api_problem_report_creation(request_details = nil) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports") post_stub.with(body: { problem_report: request_details }) unless request_details.nil? post_stub.to_return(status: 202) end |
#stub_support_api_problem_report_daily_totals_for(date, expected_results = nil) ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 59 def stub_support_api_problem_report_daily_totals_for(date, expected_results = nil) date_string = date.strftime("%Y-%m-%d") get_stub = stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports/#{date_string}/totals") response = { status: 200 } response[:body] = expected_results if expected_results get_stub.to_return(response) end |
#stub_support_api_problem_reports(params, response_body = {}) ⇒ Object
67 68 69 70 71 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 67 def stub_support_api_problem_reports(params, response_body = {}) stub_http_request(:get, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/problem-reports"). with(query: params). to_return(status: 200, body: response_body.to_json) end |
#stub_support_api_service_feedback_creation(feedback_details = nil) ⇒ Object
17 18 19 20 21 |
# File 'lib/gds_api/test_helpers/support_api.rb', line 17 def stub_support_api_service_feedback_creation(feedback_details = nil) post_stub = stub_http_request(:post, "#{SUPPORT_API_ENDPOINT}/anonymous-feedback/service-feedback") post_stub.with(body: { service_feedback: feedback_details }) unless feedback_details.nil? post_stub.to_return(status: 201) end |