Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix see all updates for pending statistics announcements #3085

Merged
merged 1 commit into from
Feb 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
4 changes: 2 additions & 2 deletions config/locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ en:
hide_all_updates: hide all updates
last_updated: Last updated %{date}
published: Published %{date}
see_all_updates: see all updates
see_all_updates: See all updates
show_all_updates: show all updates
publisher_metadata:
hide_all: hide all
Expand Down Expand Up @@ -484,7 +484,7 @@ en:
pages_in_manual_section: Manual section pages
previous_page: Previous page
search_this_manual: Search this manual
see_all_updates: see all updates
see_all_updates: See all updates
title: "%{title}Guidance"
updated: Updated
updates_amendments: published amendments
Expand Down
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
Loading