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