|
|
|
require "rails_helper"
|
|
|
|
|
|
|
|
RSpec.describe DetailsTableHelper do
|
|
|
|
describe "details html" do
|
|
|
|
let(:details) { details_html(attribute) }
|
|
|
|
let(:current_user) { FactoryBot.build(:user) }
|
|
|
|
|
|
|
|
context "when given a simple attribute" do
|
|
|
|
let(:attribute) { { name: "name", value: "Dummy org", editable: true } }
|
|
|
|
|
|
|
|
it "displays the string wrapped in a p" do
|
|
|
|
expect(details).to eq("<p class=\"govuk-body\">Dummy org</p>")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when given a bullet point list of attributes" do
|
|
|
|
let(:list) { %w[Camden Westminster Bristol] }
|
|
|
|
let(:attribute) do
|
|
|
|
{
|
|
|
|
name: "local_authorities_operated_in",
|
|
|
|
value: list,
|
|
|
|
editable: false,
|
|
|
|
format: :bullet,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
it "displays the string wrapped in an unordered list with the correct classes" do
|
|
|
|
expect(details).to eq("<ul class=\"govuk-list govuk-list--bullet\"><li>Camden</li><li>Westminster</li><li>Bristol</li></ul>")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when given a bullet point list with one attribute" do
|
|
|
|
let(:list) { %w[Camden] }
|
|
|
|
let(:attribute) do
|
|
|
|
{
|
|
|
|
name: "local_authorities_operated_in",
|
|
|
|
value: list,
|
|
|
|
editable: false,
|
|
|
|
format: :bullet,
|
|
|
|
}
|
|
|
|
end
|
|
|
|
|
|
|
|
it "displays the string wrapped in a p" do
|
|
|
|
expect(details).to eq("<p class=\"govuk-body\">Camden</p>")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when given an attribute value is empty" do
|
|
|
|
let(:attribute) { { value: "" } }
|
|
|
|
|
|
|
|
it "displays the default message" do
|
|
|
|
expect(details_html(attribute)).to include("No answer provided")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context "when given an attribute value is not empty" do
|
|
|
|
let(:attribute) { { value: "Dummy text" } }
|
|
|
|
|
|
|
|
it "displays the default message" do
|
|
|
|
expect(details_html(attribute)).to include("Dummy text")
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|