6 changed files with 44 additions and 22 deletions
@ -0,0 +1,25 @@ |
|||||||
|
module TagHelper |
||||||
|
include GovukComponentsHelper |
||||||
|
|
||||||
|
TEXT = { |
||||||
|
not_started: "Not started", |
||||||
|
cannot_start_yet: "Cannot start yet", |
||||||
|
in_progress: "In progress", |
||||||
|
completed: "Completed", |
||||||
|
}.freeze |
||||||
|
|
||||||
|
COLOUR = { |
||||||
|
not_started: "grey", |
||||||
|
cannot_start_yet: "grey", |
||||||
|
in_progress: "blue", |
||||||
|
completed: "green", |
||||||
|
}.freeze |
||||||
|
|
||||||
|
def status_tag(status, classes = []) |
||||||
|
govuk_tag( |
||||||
|
classes:, |
||||||
|
colour: COLOUR[status.to_sym], |
||||||
|
text: TEXT[status.to_sym], |
||||||
|
) |
||||||
|
end |
||||||
|
end |
@ -0,0 +1,16 @@ |
|||||||
|
require "rails_helper" |
||||||
|
|
||||||
|
RSpec.describe TagHelper do |
||||||
|
let(:empty_case_log) { FactoryBot.create(:case_log) } |
||||||
|
let(:case_log) { FactoryBot.create(:case_log, :in_progress) } |
||||||
|
|
||||||
|
describe "get the status tag" do |
||||||
|
it "returns tag with correct status text and colour" do |
||||||
|
expect(status_tag(case_log.status)).to eq("<strong class=\"govuk-tag govuk-tag--blue\">In progress</strong>") |
||||||
|
end |
||||||
|
|
||||||
|
it "returns tag with correct status text and colour and custom class" do |
||||||
|
expect(status_tag("not_started", "app-tag--small")).to eq("<strong class=\"govuk-tag app-tag--small govuk-tag--grey\">Not started</strong>") |
||||||
|
end |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue