Fix spec descriptions around configurable limit values (#31079)
This commit is contained in:
parent
5a60a3b80c
commit
6e4305de69
4 changed files with 30 additions and 13 deletions
|
@ -592,7 +592,7 @@ RSpec.describe Account do
|
|||
expect(results).to eq [match]
|
||||
end
|
||||
|
||||
it 'limits by 10 by default' do
|
||||
it 'limits result count by default value' do
|
||||
stub_const('Account::Search::DEFAULT_LIMIT', 1)
|
||||
2.times { Fabricate(:account, display_name: 'Display Name') }
|
||||
results = described_class.advanced_search_for('display', account)
|
||||
|
|
|
@ -6,7 +6,7 @@ describe NoteLengthValidator do
|
|||
subject { described_class.new(attributes: { note: true }, maximum: 500) }
|
||||
|
||||
describe '#validate' do
|
||||
it 'adds an error when text is over 500 characters' do
|
||||
it 'adds an error when text is over configured character limit' do
|
||||
text = 'a' * 520
|
||||
account = instance_double(Account, note: text, errors: activemodel_errors)
|
||||
|
||||
|
@ -14,16 +14,16 @@ describe NoteLengthValidator do
|
|||
expect(account.errors).to have_received(:add)
|
||||
end
|
||||
|
||||
it 'counts URLs as 23 characters flat' do
|
||||
text = ('a' * 476) + " http://#{'b' * 30}.com/example"
|
||||
it 'reduces calculated length of auto-linkable space-separated URLs' do
|
||||
text = [starting_string, example_link].join(' ')
|
||||
account = instance_double(Account, note: text, errors: activemodel_errors)
|
||||
|
||||
subject.validate_each(account, 'note', text)
|
||||
expect(account.errors).to_not have_received(:add)
|
||||
end
|
||||
|
||||
it 'does not count non-autolinkable URLs as 23 characters flat' do
|
||||
text = ('a' * 476) + "http://#{'b' * 30}.com/example"
|
||||
it 'does not reduce calculated length of non-autolinkable URLs' do
|
||||
text = [starting_string, example_link].join
|
||||
account = instance_double(Account, note: text, errors: activemodel_errors)
|
||||
|
||||
subject.validate_each(account, 'note', text)
|
||||
|
@ -32,6 +32,14 @@ describe NoteLengthValidator do
|
|||
|
||||
private
|
||||
|
||||
def starting_string
|
||||
'a' * 476
|
||||
end
|
||||
|
||||
def example_link
|
||||
"http://#{'b' * 30}.com/example"
|
||||
end
|
||||
|
||||
def activemodel_errors
|
||||
instance_double(ActiveModel::Errors, add: nil)
|
||||
end
|
||||
|
|
|
@ -19,8 +19,9 @@ describe ReactionValidator do
|
|||
expect(reaction.errors).to be_empty
|
||||
end
|
||||
|
||||
it 'adds error when 8 reactions already exist' do
|
||||
%w(🐘 ❤️ 🙉 😍 😋 😂 😞 👍).each do |name|
|
||||
it 'adds error when reaction limit count has already been reached' do
|
||||
stub_const 'ReactionValidator::LIMIT', 2
|
||||
%w(🐘 ❤️).each do |name|
|
||||
announcement.announcement_reactions.create!(name: name, account: Fabricate(:account))
|
||||
end
|
||||
|
||||
|
|
|
@ -42,23 +42,23 @@ describe StatusLengthValidator do
|
|||
expect(status.errors).to have_received(:add)
|
||||
end
|
||||
|
||||
it 'counts URLs as 23 characters flat' do
|
||||
text = ('a' * 476) + " http://#{'b' * 30}.com/example"
|
||||
it 'reduces calculated length of auto-linkable space-separated URLs' do
|
||||
text = [starting_string, example_link].join(' ')
|
||||
status = status_double(text: text)
|
||||
|
||||
subject.validate(status)
|
||||
expect(status.errors).to_not have_received(:add)
|
||||
end
|
||||
|
||||
it 'does not count non-autolinkable URLs as 23 characters flat' do
|
||||
text = ('a' * 476) + "http://#{'b' * 30}.com/example"
|
||||
it 'does not reduce calculated length of non-autolinkable URLs' do
|
||||
text = [starting_string, example_link].join
|
||||
status = status_double(text: text)
|
||||
|
||||
subject.validate(status)
|
||||
expect(status.errors).to have_received(:add)
|
||||
end
|
||||
|
||||
it 'does not count overly long URLs as 23 characters flat' do
|
||||
it 'does not reduce calculated length of count overly long URLs' do
|
||||
text = "http://example.com/valid?#{'#foo?' * 1000}"
|
||||
status = status_double(text: text)
|
||||
subject.validate(status)
|
||||
|
@ -84,6 +84,14 @@ describe StatusLengthValidator do
|
|||
|
||||
private
|
||||
|
||||
def starting_string
|
||||
'a' * 476
|
||||
end
|
||||
|
||||
def example_link
|
||||
"http://#{'b' * 30}.com/example"
|
||||
end
|
||||
|
||||
def status_double(spoiler_text: '', text: '')
|
||||
instance_double(
|
||||
Status,
|
||||
|
|
Loading…
Reference in a new issue