module GdsApi::TestHelpers::Rummager

def assert_rummager_posted_item(attributes)

def assert_rummager_posted_item(attributes)
  url = Plek.new.find('search') + "/documents"
  assert_requested(:post, url) do |req|
    data = JSON.parse(req.body)
    attributes.to_a.all? do |key, value|
      data[key.to_s] == value
    end
  end
end

def client

def client
  GdsApi::Rummager.new("http://example.com")
end

def example_query

def example_query
  {
    filter_organisations: ["an-organisation-slug"],
    facet_specialist_sectors: "1000,examples:4,example_scope:global,order:value.title"
  }
end

def no_search_results_found

def no_search_results_found
  File.read(
    File.expand_path(
      "../../../../test/fixtures/no_services_and_info_data_found_fixture.json",
      __FILE__
    )
  )
end

def rummager_has_no_services_and_info_data_for_organisation

def rummager_has_no_services_and_info_data_for_organisation
  stub_request_for(no_search_results_found)
  run_example_query
end

def rummager_has_services_and_info_data_for_organisation

def rummager_has_services_and_info_data_for_organisation
  stub_request_for(search_results_found)
  run_example_query
end

def rummager_has_specialist_sector_organisations(sub_sector)

def rummager_has_specialist_sector_organisations(sub_sector)
  stub_request_for(sub_sector_organisations_results)
  run_example_query
end

def run_example_query

def run_example_query
  client.unified_search(example_query)
end

def search_results_found

def search_results_found
  File.read(
    File.expand_path(
      "../../../../test/fixtures/services_and_info_fixture.json",
      __FILE__
    )
  )
end

def stub_any_rummager_post

def stub_any_rummager_post
  stub_request(:post, %r{#{Plek.new.find('search')}/documents})
end

def stub_request_for(result_set)

def stub_request_for(result_set)
  stub_request(:get, /example.com\/unified_search/).to_return(body: result_set)
end

def sub_sector_organisations_results

def sub_sector_organisations_results
  File.read(
    File.expand_path(
      "../../../../test/fixtures/sub_sector_organisations.json",
      __FILE__
    )
  )
end