Module: GdsApi::TestHelpers::NeedApi
Constant Summary
collapse
- NEED_API_ENDPOINT =
Plek.current.find('need-api')
Instance Method Summary
collapse
#acronymize_slug, #plural_response_base, #response_base, #titleize_slug
Instance Method Details
#need_api_has_need(need) ⇒ Object
53
54
55
56
57
58
59
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 53
def need_api_has_need(need)
need_id = need["id"] || need[:id]
raise ArgumentError, "Test need is missing an ID" unless need_id
url = NEED_API_ENDPOINT + "/needs/#{need_id}"
stub_request(:get, url).to_return(status: 200, body: need.to_json, headers: {})
end
|
#need_api_has_needs(needs) ⇒ Object
44
45
46
47
48
49
50
51
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 44
def need_api_has_needs(needs)
url = NEED_API_ENDPOINT + "/needs"
body = response_base.merge(
"results" => needs
)
stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
end
|
#need_api_has_needs_for_organisation(organisation, needs) ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 26
def need_api_has_needs_for_organisation(organisation, needs)
url = NEED_API_ENDPOINT + "/needs?organisation_id=#{organisation}"
body = response_base.merge(
"results" => needs
)
stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
end
|
#need_api_has_needs_for_search(search_term, needs) ⇒ Object
35
36
37
38
39
40
41
42
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 35
def need_api_has_needs_for_search(search_term, needs)
url = NEED_API_ENDPOINT + "/needs?q=#{search_term}"
body = response_base.merge(
"results" => needs
)
stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
end
|
#need_api_has_no_need(need_id) ⇒ Object
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 68
def need_api_has_no_need(need_id)
url = NEED_API_ENDPOINT + "/needs/#{need_id}"
not_found_body = {
"_response_info" => {"status" => "not_found"},
"error" => "No need exists with this ID"
}
stub_request(:get, url).to_return(
status: 404,
body: not_found_body.to_json,
headers: {}
)
end
|
#need_api_has_organisations(organisations) ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 11
def need_api_has_organisations(organisations)
url = NEED_API_ENDPOINT + "/organisations"
body = response_base.merge(
"organisations" => organisations.map {|id, attrs|
if attrs.is_a? String
{ "id" => id }.merge("name" => attrs)
else
{ "id" => id }.merge(attrs)
end
}
)
stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
end
|
#need_api_has_raw_response_for_page(response, page = nil) ⇒ Object
61
62
63
64
65
66
|
# File 'lib/gds_api/test_helpers/need_api.rb', line 61
def need_api_has_raw_response_for_page(response, page = nil)
url = NEED_API_ENDPOINT + "/needs"
url << "?page=#{page}" unless page.nil?
stub_request(:get, url).to_return(status: 200, body: response, headers: {})
end
|