Module: GdsApi::TestHelpers::ContentStore

Includes:
CommonResponses
Defined in:
lib/gds_api/test_helpers/content_store.rb

Constant Summary collapse

CONTENT_STORE_ENDPOINT =
Plek.current.find('content-store')

Instance Method Summary collapse

Methods included from CommonResponses

#acronymize_slug, #plural_response_base, #response_base, #titleize_slug

Instance Method Details

#assert_content_store_put_item(base_path, attributes = {}) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/gds_api/test_helpers/content_store.rb', line 40

def assert_content_store_put_item(base_path, attributes = {})
  url = CONTENT_STORE_ENDPOINT + "/content" + base_path
  if attributes.empty?
    assert_requested(:put, url)
  else
    assert_requested(:put, url) do |req|
      data = JSON.parse(req.body)
      attributes.to_a.all? do |key, value|
        data[key.to_s] == value
      end
    end
  end
end

#content_store_has_item(base_path, body = item_for_base_path(base_path)) ⇒ Object



12
13
14
15
# File 'lib/gds_api/test_helpers/content_store.rb', line 12

def content_store_has_item(base_path, body = item_for_base_path(base_path))
  url = CONTENT_STORE_ENDPOINT + "/content" + base_path
  stub_request(:get, url).to_return(status: 200, body: body.to_json, headers: {})
end

#item_for_base_path(base_path) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/gds_api/test_helpers/content_store.rb', line 26

def item_for_base_path(base_path)
  {
    "title" => titleize_slug(base_path),
    "description" => "Description for #{base_path}",
    "format" => "guide",
    "need_ids" => ["100001"],
    "public_updated_at" => "2014-05-06T12:01:00+00:00",
    "base_path" => base_path,
    "details" => {
      "body" => "Some content for #{base_path}",
    }
  }
end

#stub_content_store_put_item(base_path, body = item_for_base_path(base_path)) ⇒ Object



17
18
19
20
# File 'lib/gds_api/test_helpers/content_store.rb', line 17

def stub_content_store_put_item(base_path, body = item_for_base_path(base_path))
  url = CONTENT_STORE_ENDPOINT + "/content" + base_path
  stub_request(:put, url).with(body: body.to_json).to_return(status: 201, body: body.to_json, headers: {})
end

#stub_default_content_store_putObject



22
23
24
# File 'lib/gds_api/test_helpers/content_store.rb', line 22

def stub_default_content_store_put()
  stub_request(:put, %r{\A#{CONTENT_STORE_ENDPOINT}/content})
end