REFACTOR: admin screened ip addresses controller specs to requests (#5965)

This commit is contained in:
OsamaSayegh 2018-06-11 07:48:34 +03:00 committed by Guo Xiang Tan
parent 93b1386fb2
commit 767f022b29
1 changed files with 16 additions and 13 deletions

View File

@ -6,33 +6,34 @@ describe Admin::ScreenedIpAddressesController do
expect(Admin::ScreenedIpAddressesController < Admin::AdminController).to eq(true)
end
let!(:user) { log_in(:admin) }
let(:admin) { Fabricate(:admin) }
describe 'index' do
before do
sign_in(admin)
end
describe '#index' do
it 'filters screened ip addresses' do
Fabricate(:screened_ip_address, ip_address: "1.2.3.4")
Fabricate(:screened_ip_address, ip_address: "1.2.3.5")
Fabricate(:screened_ip_address, ip_address: "1.2.3.6")
Fabricate(:screened_ip_address, ip_address: "4.5.6.7")
get :index, params: { filter: "1.2.*" }, format: :json
get "/admin/logs/screened_ip_addresses.json", params: { filter: "1.2.*" }
expect(response.status).to eq(200)
result = JSON.parse(response.body)
expect(result.length).to eq(3)
get :index, params: { filter: "4.5.6.7" }, format: :json
get "/admin/logs/screened_ip_addresses.json", params: { filter: "4.5.6.7" }
expect(response.status).to eq(200)
result = JSON.parse(response.body)
expect(result.length).to eq(1)
end
end
describe 'roll_up' do
describe '#roll_up' do
it "rolls up 1.2.3.* entries" do
Fabricate(:screened_ip_address, ip_address: "1.2.3.4", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "1.2.3.5", match_count: 1)
@ -41,10 +42,12 @@ describe Admin::ScreenedIpAddressesController do
Fabricate(:screened_ip_address, ip_address: "42.42.42.4", match_count: 1)
Fabricate(:screened_ip_address, ip_address: "42.42.42.5", match_count: 1)
StaffActionLogger.any_instance.expects(:log_roll_up)
SiteSetting.min_ban_entries_for_roll_up = 3
post :roll_up, format: :json
expect do
post "/admin/logs/screened_ip_addresses/roll_up.json"
end.to change { UserHistory.where(action: UserHistory.actions[:roll_up]).count }.by(1)
expect(response.status).to eq(200)
subnet = ScreenedIpAddress.where(ip_address: "1.2.3.0/24").first
@ -61,17 +64,17 @@ describe Admin::ScreenedIpAddressesController do
Fabricate(:screened_ip_address, ip_address: "1.2.42.0/24", match_count: 1)
StaffActionLogger.any_instance.expects(:log_roll_up)
SiteSetting.min_ban_entries_for_roll_up = 5
post :roll_up, format: :json
expect do
post "/admin/logs/screened_ip_addresses/roll_up.json"
end.to change { UserHistory.where(action: UserHistory.actions[:roll_up]).count }.by(1)
expect(response.status).to eq(200)
subnet = ScreenedIpAddress.where(ip_address: "1.2.0.0/16").first
expect(subnet).to be_present
expect(subnet.match_count).to eq(6)
end
end
end