1
0
Fork 0
mirror of https://github.com/mastodon/mastodon.git synced 2024-08-20 21:08:15 -07:00
This commit is contained in:
Daniel M Brasil 2024-07-31 14:05:05 +00:00 committed by GitHub
commit 362d3c36a5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 2 deletions

View file

@ -23,9 +23,9 @@ class IpBlock < ApplicationRecord
sign_up_requires_approval: 5000, sign_up_requires_approval: 5000,
sign_up_block: 5500, sign_up_block: 5500,
no_access: 9999, no_access: 9999,
}, prefix: true }, prefix: true, validate: true
validates :ip, :severity, presence: true validates :ip, presence: true
validates :ip, uniqueness: true validates :ip, uniqueness: true
after_commit :reset_cache after_commit :reset_cache

View file

@ -18,6 +18,13 @@ describe IpBlock do
expect(ip_block).to model_have_error_on_field(:severity) expect(ip_block).to model_have_error_on_field(:severity)
end end
it 'validates severity inclusion', :aggregate_failures do
ip_block = described_class.new(ip: '127.0.0.1', severity: :invalid)
expect(ip_block).to_not be_valid
expect(ip_block).to model_have_error_on_field(:severity)
end
it 'validates ip uniqueness', :aggregate_failures do it 'validates ip uniqueness', :aggregate_failures do
described_class.create!(ip: '127.0.0.1', severity: :no_access) described_class.create!(ip: '127.0.0.1', severity: :no_access)

View file

@ -166,6 +166,16 @@ RSpec.describe 'IP Blocks' do
expect(response).to have_http_status(422) expect(response).to have_http_status(422)
end end
end end
context 'when the given severity is invalid' do
let(:params) { { ip: '151.0.32.55', severity: 'invalid' } }
it 'returns http unprocessable entity' do
subject
expect(response).to have_http_status(422)
end
end
end end
describe 'PUT /api/v1/admin/ip_blocks/:id' do describe 'PUT /api/v1/admin/ip_blocks/:id' do