mirror of
https://github.com/discourse/discourse.git
synced 2025-05-30 03:47:16 +08:00
FIX: updating needs a restart
This commit is contained in:
@ -5,8 +5,11 @@ require 'validators/topic_title_length_validator'
|
||||
|
||||
describe TopicTitleLengthValidator do
|
||||
|
||||
let(:validator) { TopicTitleLengthValidator.new({attributes: :title}) }
|
||||
subject(:validate) { validator.validate_each(record,:title,record.title) }
|
||||
# simulate Rails behavior (singleton)
|
||||
def validate
|
||||
@validator ||= TopicTitleLengthValidator.new({ attributes: :title })
|
||||
@validator.validate_each(record,:title,record.title)
|
||||
end
|
||||
|
||||
shared_examples "validating any topic title" do
|
||||
it 'adds an error when topic title is greater than SiteSetting.max_topic_title_length' do
|
||||
@ -31,14 +34,22 @@ describe TopicTitleLengthValidator do
|
||||
expect(record.errors[:title]).to_not be_present
|
||||
end
|
||||
|
||||
it 'is up to date' do
|
||||
record.title = 'a' * (SiteSetting.min_topic_title_length)
|
||||
validate
|
||||
expect(record.errors[:title]).to_not be_present
|
||||
|
||||
SiteSetting.stubs(:min_topic_title_length).returns(2)
|
||||
|
||||
record.title = 'aaa'
|
||||
validate
|
||||
expect(record.errors[:title]).to_not be_present
|
||||
end
|
||||
|
||||
include_examples "validating any topic title"
|
||||
end
|
||||
|
||||
describe 'private message' do
|
||||
before do
|
||||
SiteSetting.stubs(:min_private_message_title_length).returns(3)
|
||||
end
|
||||
|
||||
let(:record) { Fabricate.build(:private_message_topic) }
|
||||
|
||||
it 'adds an error when topic title is shorter than SiteSetting.min_private_message_title_length' do
|
||||
@ -48,7 +59,6 @@ describe TopicTitleLengthValidator do
|
||||
end
|
||||
|
||||
it 'does not add an error when topic title is shorter than SiteSetting.min_topic_title_length' do
|
||||
SiteSetting.stubs(:min_topic_title_length).returns(15)
|
||||
record.title = 'a' * (SiteSetting.min_private_message_title_length)
|
||||
validate
|
||||
expect(record.errors[:title]).to_not be_present
|
||||
|
Reference in New Issue
Block a user