Валидация и тест кейсы
Мне нужно установить валидацию на длину текста в 10 символов (сейчас 50). Когда я изменяю на 10 - падает тест кейс, в котором указано 50. Как мне сделать валидацию, чтобы пройти этот тест кейс?
Код модели
# == Schema Information
#
# Table name: films
#
# id :bigint not null, primary key
# description :text
# name :string
# created_at :datetime not null
# updated_at :datetime not null
#
class Film < ApplicationRecord
MIN_DESCRIPTION_LENGTH = 10
MAX_DESCRIPTION_LENGTH = 250
validates :name, :description, presence: true
validates :description,
length: { minimum: MIN_DESCRIPTION_LENGTH, maximum: MAX_DESCRIPTION_LENGTH }
end
Тест кейсы
describe Film, type: :model do
context 'validations' do
it { is_expected.to validate_presence_of(:name) }
it { is_expected.to validate_presence_of(:description) }
it 'validates description length' do
expect(subject)
.to validate_length_of(:description)
.is_at_least(50)
.is_at_most(described_class::MAX_DESCRIPTION_LENGTH)
end
end
end
Ответы (1 шт):
Автор решения: S.H.
→ Ссылка
Извините, но по логике, которая заложена в тесты, вам не надо делать валидцию на длинну в 10 символов.
Еслив тест кейсе написано 50 - значит, надо делать на 50.
Если надо сделать на 10 - то в тест кейсе должно быть 10.
Я правильно понимаю, что на тест кейсы Вы повлиять не можете? Может быть, тогда нужно связаться с человеком, который может на них повлиять, и убедить его, что в тест кейсе должно быть "10"?