Paul Robert Lloyd
3 years ago
committed by
GitHub
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