Skip to content

Commit e853ad5

Browse files
committed
wip: testing character limits
1 parent f3cde48 commit e853ad5

File tree

3 files changed

+8
-3
lines changed

3 files changed

+8
-3
lines changed

app/components/question/text_component/view.html.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,7 @@
66
<%= form_builder.govuk_text_area :text,
77
label: { text: question_text_with_extra_suffix, **question_text_size_and_tag },
88
hint: { text: question.hint_text },
9+
max_chars: Question::Text::MAX_LENGTH_LONG_TEXT,
10+
threshold: 99,
911
rows: 5 %>
1012
<% end %>

app/models/question/text.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ module Question
22
class Text < QuestionBase
33
attribute :text
44
validates :text, presence: true, unless: :is_optional?
5-
validates :text, length: { maximum: 499, message: I18n.t("activemodel.errors.models.question/text.attributes.text.single_line_too_long") }, if: :is_single_line?
6-
validates :text, length: { maximum: 4999, message: I18n.t("activemodel.errors.models.question/text.attributes.text.long_text_too_long") }, unless: :is_single_line?
5+
6+
MAX_LENGTH_SINGLE_LINE = 499
7+
MAX_LENGTH_LONG_TEXT = 4999
8+
validates :text, length: { maximum: MAX_LENGTH_SINGLE_LINE, message: I18n.t("activemodel.errors.models.question/text.attributes.text.single_line_too_long") }, if: :is_single_line?
9+
validates :text, length: { maximum: MAX_LENGTH_LONG_TEXT, message: I18n.t("activemodel.errors.models.question/text.attributes.text.long_text_too_long") }, unless: :is_single_line?
710

811
before_validation :strip_carriage_returns!, unless: :is_single_line?
912

spec/components/question/text_component/view_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
let(:question_page) { build :page, :with_hints, :with_text_settings, input_type: }
102102

103103
it "outputs the hint text" do
104-
expect(page.find(".govuk-hint")).to have_text(question.hint_text)
104+
expect(page.find("#form-text-hint.govuk-hint")).to have_text(question.hint_text)
105105
end
106106
end
107107

0 commit comments

Comments
 (0)