module GdsApi::TestHelpers::PublishingApiV2

def publishing_api_has_content(items, params = {})

Parameters:
  • params (Hash) --
  • items (Array) --
def publishing_api_has_content(items, params = {})
  url = PUBLISHING_API_V2_ENDPOINT + "/content"
  if params.respond_to? :fetch
    per_page = params.fetch(:per_page, 50)
    page = params.fetch(:page, 1)
  else
    per_page = 50
    page = 1
  end
  start_position = (page - 1) * per_page
  page_items = items.slice(start_position, per_page) || []
  number_of_pages =
    if items.count < per_page
      1
    else
      (items.count / per_page.to_f).ceil
    end
  body = {
    results: page_items,
    total: items.count,
    pages: number_of_pages,
    current_page: page
  }
  stub_request(:get, url)
    .with(query: params)
    .to_return(status: 200, body: body.to_json, headers: {})
end