module GdsApi::TestHelpers::LocalLinksManager
def local_links_manager_does_not_have_an_authority(authority_slug)
def local_links_manager_does_not_have_an_authority(authority_slug) stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/local-authority") .with(query: { authority_slug: authority_slug }) .to_return(body: {}.to_json, status: 404) end
def local_links_manager_does_not_have_required_objects(authority_slug, lgsl, lgil = nil)
def local_links_manager_does_not_have_required_objects(authority_slug, lgsl, lgil = nil) params = { authority_slug: authority_slug, lgsl: lgsl } params[:lgil] = lgil if lgil stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: params) .to_return(body: {}.to_json, status: 404) end
def local_links_manager_has_a_district_and_county_local_authority(district_slug, county_slug)
def local_links_manager_has_a_district_and_county_local_authority(district_slug, county_slug) response = { "local_authorities" => [ { "name" => district_slug.capitalize, "homepage_url" => "http://#{district_slug}.example.com", "tier" => "district" }, { "name" => county_slug.capitalize, "homepage_url" => "http://#{county_slug}.example.com", "tier" => "county" } ] } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/local-authority") .with(query: { authority_slug: district_slug }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_a_fallback_link(authority_slug:, lgsl:, lgil:, url:)
def local_links_manager_has_a_fallback_link(authority_slug:, lgsl:, lgil:, url:) response = { "local_authority" => { "name" => authority_slug.capitalize, "snac" => "00AG", "tier" => "unitary", "homepage_url" => "http://#{authority_slug}.example.com", }, "local_interaction" => { "lgsl_code" => lgsl, "lgil_code" => lgil, "url" => url, } } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: { authority_slug: authority_slug, lgsl: lgsl }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_a_link(authority_slug:, lgsl:, lgil:, url:)
def local_links_manager_has_a_link(authority_slug:, lgsl:, lgil:, url:) response = { "local_authority" => { "name" => authority_slug.capitalize, "snac" => "00AG", "tier" => "unitary", "homepage_url" => "http://#{authority_slug}.example.com", }, "local_interaction" => { "lgsl_code" => lgsl, "lgil_code" => lgil, "url" => url, } } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: { authority_slug: authority_slug, lgsl: lgsl, lgil: lgil }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_a_local_authority(authority_slug)
def local_links_manager_has_a_local_authority(authority_slug) response = { "local_authorities" => [ { "name" => authority_slug.capitalize, "homepage_url" => "http://#{authority_slug}.example.com", "tier" => "unitary" } ] } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/local-authority") .with(query: { authority_slug: authority_slug }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_a_local_authority_without_homepage(authority_slug)
def local_links_manager_has_a_local_authority_without_homepage(authority_slug) response = { "local_authorities" => [ { "name" => authority_slug.capitalize, "homepage_url" => "", "tier" => "unitary" } ] } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/local-authority") .with(query: { authority_slug: authority_slug }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_no_fallback_link(authority_slug:, lgsl:)
def local_links_manager_has_no_fallback_link(authority_slug:, lgsl:) response = { "local_authority" => { "name" => authority_slug.capitalize, "snac" => "00AG", "tier" => "unitary", "homepage_url" => "http://#{authority_slug}.example.com", }, } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: { authority_slug: authority_slug, lgsl: lgsl }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_no_link(authority_slug:, lgsl:, lgil:)
def local_links_manager_has_no_link(authority_slug:, lgsl:, lgil:) response = { "local_authority" => { "name" => authority_slug.capitalize, "snac" => "00AG", "tier" => "unitary", "homepage_url" => "http://#{authority_slug}.example.com", }, } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: { authority_slug: authority_slug, lgsl: lgsl, lgil: lgil }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_has_no_link_and_no_homepage_url(authority_slug:, lgsl:, lgil:)
def local_links_manager_has_no_link_and_no_homepage_url(authority_slug:, lgsl:, lgil:) response = { "local_authority" => { "name" => authority_slug.capitalize, "snac" => "00AG", "tier" => "unitary", "homepage_url" => nil, }, } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: { authority_slug: authority_slug, lgsl: lgsl, lgil: lgil }) .to_return(body: response.to_json, status: 200) end
def local_links_manager_request_with_missing_parameters(authority_slug, lgsl)
def local_links_manager_request_with_missing_parameters(authority_slug, lgsl) # convert nil to an empty string, otherwise query param is not expressed correctly params = { authority_slug: authority_slug || "", lgsl: lgsl || "" } stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/link") .with(query: params) .to_return(body: {}.to_json, status: 400) end
def local_links_manager_request_without_local_authority_slug
def local_links_manager_request_without_local_authority_slug stub_request(:get, "#{LOCAL_LINKS_MANAGER_ENDPOINT}/api/local-authority") .with(query: { authority_slug: '' }) .to_return(body: {}.to_json, status: 400) end