Matthew Phelan
3 years ago
2 changed files with 29 additions and 20 deletions
@ -1,4 +1,7 @@ |
|||||||
<div class="govuk-form-group"> |
<div class="govuk-form-group"> |
||||||
<label for="numeric_input"><%= label %></label> |
<label for="numeric_input"><%= label %></label> |
||||||
|
<div id="numeric_hint" class="govuk-hint"> |
||||||
|
<%= hint_text %> |
||||||
|
</div> |
||||||
<input id="numeric_input" class="govuk-input govuk-input--width-20" type="number" min=<%= minimum %> max=<%= maximum %> /> |
<input id="numeric_input" class="govuk-input govuk-input--width-20" type="number" min=<%= minimum %> max=<%= maximum %> /> |
||||||
</div> |
</div> |
@ -1,25 +1,31 @@ |
|||||||
describe 'questions/_numeric_question.html.erb' do |
describe "questions/_numeric_question.html.erb" do |
||||||
context 'when given a label and value constraints' do |
context "when given a label, value constraints and hint text" do |
||||||
let(:label) { "Test Label" } |
let(:label) { "Test Label" } |
||||||
let(:min) { "1" } |
let(:min) { "1" } |
||||||
let(:max) { "150" } |
let(:max) { "150" } |
||||||
let(:locals) { {label: label, minimum: min, maximum: max} } |
let(:hint_text) { "Some text that describes the question in more detail" } |
||||||
|
let(:locals) { { label: label, minimum: min, maximum: max, hint_text: hint_text } } |
||||||
|
|
||||||
before(:each) do |
before(:each) do |
||||||
render :partial => 'numeric_question', locals: locals |
render partial: "numeric_question", locals: locals |
||||||
end |
end |
||||||
|
|
||||||
it 'displays a numeric entry field with a label' do |
it "displays a numeric entry field with a label" do |
||||||
expect(rendered).to have_selector('//input[@type="number"]') |
expect(rendered).to have_selector('//input[@type="number"]') |
||||||
expect(rendered).to have_selector("//label[contains('#{label}')]") |
expect(rendered).to have_selector("//label[contains('#{label}')]") |
||||||
end |
end |
||||||
|
|
||||||
it 'validates for a given minimum input' do |
it "validates for a given minimum input" do |
||||||
expect(rendered).to have_selector("//input[@min=#{min}]") |
expect(rendered).to have_selector("//input[@min=#{min}]") |
||||||
end |
end |
||||||
|
|
||||||
|
it "validates for a given maximum input" do |
||||||
|
expect(rendered).to have_selector("//input[@max=#{max}]") |
||||||
|
end |
||||||
|
|
||||||
it 'validates for a given maximum input' do |
it "displays hint text" do |
||||||
expect(rendered).to have_selector("//input[@max=#{max}]") |
expect(rendered).to have_selector("//div[@class='govuk-hint']") |
||||||
end |
expect(rendered).to have_css("#numeric_hint", text: hint_text.to_s) |
||||||
end |
end |
||||||
|
end |
||||||
end |
end |
Loading…
Reference in new issue