Skip to content

Commit

Permalink
refactor doc timeline test
Browse files Browse the repository at this point in the history
  • Loading branch information
Harriethw committed Jan 28, 2025
1 parent 8076aab commit 544fa51
Showing 1 changed file with 19 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,42 +4,44 @@ class ContentBlockManager::ContentBlock::Document::Show::DocumentTimelineCompone
include Rails.application.routes.url_helpers
include ActionView::Helpers::UrlHelper
include ApplicationHelper
extend Minitest::Spec::DSL

let(:user) { create(:user) }

test "renders a timeline component with events in correct order" do
@user = create(:user)
@version_1 = create(
version_1 = create(
:content_block_version,
event: "created",
whodunnit: @user.id,
whodunnit: user.id,
)
@version_2 = create(
version_2 = create(
:content_block_version,
event: "updated",
whodunnit: @user.id,
whodunnit: user.id,
state: "published",
)
@version_3 = create(
version_3 = create(
:content_block_version,
event: "updated",
whodunnit: @user.id,
whodunnit: user.id,
state: "scheduled",
)

render_inline(ContentBlockManager::ContentBlock::Document::Show::DocumentTimelineComponent.new(
content_block_versions: [@version_3, @version_2, @version_1],
content_block_versions: [version_3, version_2, version_1],
))

assert_selector ".timeline__item", count: 2

assert_equal "Email address scheduled", page.all(".timeline__title")[0].text
assert_equal "by #{linked_author(@user, { class: 'govuk-link' })}", page.all(".timeline__byline")[0].native.inner_html
assert_equal I18n.l(@version_3.created_at, format: :long_ordinal),
page.all("time[datetime='#{@version_3.created_at.iso8601}']")[1].text
assert_equal "by #{linked_author(user, { class: 'govuk-link' })}", page.all(".timeline__byline")[0].native.inner_html
assert_equal I18n.l(version_3.created_at, format: :long_ordinal),
page.all("time[datetime='#{version_3.created_at.iso8601}']")[1].text

assert_equal "Email address published", page.all(".timeline__title")[1].text
assert_equal "by #{linked_author(@user, { class: 'govuk-link' })}", page.all(".timeline__byline")[1].native.inner_html
assert_equal I18n.l(@version_2.created_at, format: :long_ordinal),
page.all("time[datetime='#{@version_2.created_at.iso8601}']")[1].text
assert_equal "by #{linked_author(user, { class: 'govuk-link' })}", page.all(".timeline__byline")[1].native.inner_html
assert_equal I18n.l(version_2.created_at, format: :long_ordinal),
page.all("time[datetime='#{version_2.created_at.iso8601}']")[1].text

assert_no_selector ".govuk-table"
end
Expand All @@ -62,17 +64,16 @@ class ContentBlockManager::ContentBlock::Document::Show::DocumentTimelineCompone
"previous_value": "old instructions",
},
]
@user = create(:user)
@version = create(
version = create(
:content_block_version,
event: "updated",
whodunnit: @user.id,
whodunnit: user.id,
state: "scheduled",
field_diffs: field_diffs,
)

render_inline(ContentBlockManager::ContentBlock::Document::Show::DocumentTimelineComponent.new(
content_block_versions: [@version],
content_block_versions: [version],
))

assert_equal "old title", page.all("td")[0].text
Expand Down

0 comments on commit 544fa51

Please sign in to comment.