lib/gds_api/test_helpers/support_api.rb
require 'plek' module GdsApi module TestHelpers module SupportApi SUPPORT_API_ENDPOINT = Plek.current.find('support-api') 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 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 def stub_support_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 def stub_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 def support_api_isnt_available stub_request(:post, /#{SUPPORT_API_ENDPOINT}\/.*/).to_return(:status => 503) end end end end