Skip to content

Commit

Permalink
Merge pull request #3085 from alphagov/pending-stats
Browse files Browse the repository at this point in the history
Fix see all updates for pending statistics announcements
  • Loading branch information
georges1996 authored Feb 9, 2024
2 parents e806725 + 97ce6a5 commit 3b66608
Show file tree
Hide file tree
Showing 2 changed files with 76 additions and 2 deletions.
17 changes: 15 additions & 2 deletions app/presenters/content_item/metadata.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,25 @@ def important_metadata
end

def publisher_metadata
{
metadata = {
from:,
first_published: published,
last_updated: updated,
see_updates_link: true,
}

unless pending_stats_announcement?
metadata[:see_updates_link] = true
end

metadata
end

def pending_stats_announcement?
details_display_date.present? && Time.zone.parse(details_display_date).future?
end

def details_display_date
content_item["details"]["display_date"]
end
end
end
61 changes: 61 additions & 0 deletions test/presenters/content_item/metadata_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
require "test_helper"

class ContentItemMetadataTest < ActiveSupport::TestCase
class DummyContentItem
include ContentItem::Metadata
attr_reader :content_item, :view_context, :base_path, :public_updated_at, :title, :schema_name

def initialize(schema_name = "manual")
@view_context = ApplicationController.new.view_context
@content_item = {
"title" => "Super title",
"base_path" => "/a/base/path",
"public_updated_at" => "2022-03-23T08:30:20.000+00:00",
"schema_name" => schema_name,
"details" => {
"body" => "body",
"child_section_groups" => [{ "title" => "thing" }],
"display_date" => "23 March 2000",
},
"links" => {
"organisations" => [
{ "content_id" => SecureRandom.uuid, "title" => "blah", "base_path" => "/blah" },
],
},
}
@base_path = content_item["base_path"]
@public_updated_at = content_item["public_updated_at"]
@title = content_item["title"]
@schema_name = content_item["schema_name"]
end
end

test "returns see_updates_link true if published" do
item = DummyContentItem.new
item.stubs(:display_date).returns("23 March 2000")

expected_publisher_metadata = {
from: ["<a class=\"govuk-link\" href=\"/blah\">blah</a>"],
first_published: "23 March 2000",
last_updated: nil,
see_updates_link: true,
}

assert_equal expected_publisher_metadata, item.publisher_metadata
end

test "does not return see_updates_link if pending" do
item = DummyContentItem.new
item.stubs(:display_date).returns("23 March 3000")

item.content_item["details"]["display_date"] = "23 March 3000"

expected_publisher_metadata = {
from: ["<a class=\"govuk-link\" href=\"/blah\">blah</a>"],
first_published: "23 March 3000",
last_updated: nil,
}

assert_equal expected_publisher_metadata, item.publisher_metadata
end
end

0 comments on commit 3b66608

Please sign in to comment.