Sha256: eb6046056d174efb6ff074486edeb1058c74ec3a00f82a93f3e8eca16ef2d124

Contents?: true

Size: 1.56 KB

Versions: 1

Compression:

Stored size: 1.56 KB

Contents

require "test_helper"

class GovspeakAttachmentTest < Minitest::Test
  def render_govspeak(govspeak, attachments = [])
    Govspeak::Document.new(govspeak, attachments: attachments).to_html
  end

  test "renders an empty string for attachment link that is not found" do
    assert_equal("\n", render_govspeak("[Attachment:file.pdf]", []))
  end

  test "renders an attachment component for a found attachment" do
    attachment = {
      id: "attachment.pdf",
      url: "http://example.com/attachment.pdf",
      title: "Attachment Title",
    }

    rendered = render_govspeak("[Attachment:attachment.pdf]", [attachment])
    assert_match(/<section class="gem-c-attachment/, rendered)
    assert_match(/Attachment Title/, rendered)
  end

  test "only renders attachment when markdown extension starts on a new line" do
    attachment = {
      id: "attachment.pdf",
      url: "http://example.com/attachment.pdf",
      title: "Attachment Title",
    }

    rendered = render_govspeak("some text [Attachment:attachment.pdf]", [attachment])
    assert_equal("<p>some text [Attachment:attachment.pdf]</p>\n", rendered)

    rendered = render_govspeak("[Attachment:attachment.pdf] some text", [attachment])
    assert_match(/<section class="gem-c-attachment/, rendered)
    assert_match(/<p>some text<\/p>/, rendered)

    rendered = render_govspeak("some text\n[Attachment:attachment.pdf]\nsome more text", [attachment])
    assert_match(/<p>some text<\/p>/, rendered)
    assert_match(/<section class="gem-c-attachment/, rendered)
    assert_match(/<p>some more text<\/p>/, rendered)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
govspeak-7.1.1 test/govspeak_attachment_test.rb