Reduce `.times` usage in request and controller specs (#27949)
parent
f7cb64a184
commit
32e19e3af6
|
@ -45,7 +45,7 @@ describe Admin::InvitesController do
|
||||||
|
|
||||||
describe 'POST #deactivate_all' do
|
describe 'POST #deactivate_all' do
|
||||||
it 'expires all invites, then redirects to admin_invites_path' do
|
it 'expires all invites, then redirects to admin_invites_path' do
|
||||||
invites = Fabricate.times(2, :invite, expires_at: nil)
|
invites = Fabricate.times(1, :invite, expires_at: nil)
|
||||||
|
|
||||||
post :deactivate_all
|
post :deactivate_all
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ RSpec.describe 'Domain Allows' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when there are allowed domains' do
|
context 'when there are allowed domains' do
|
||||||
let!(:domain_allows) { Fabricate.times(5, :domain_allow) }
|
let!(:domain_allows) { Fabricate.times(2, :domain_allow) }
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
domain_allows.map do |domain_allow|
|
domain_allows.map do |domain_allow|
|
||||||
{
|
{
|
||||||
|
@ -53,7 +53,7 @@ RSpec.describe 'Domain Allows' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 2 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'returns only the requested number of allowed domains' do
|
it 'returns only the requested number of allowed domains' do
|
||||||
subject
|
subject
|
||||||
|
|
|
@ -14,7 +14,7 @@ RSpec.describe 'Bookmarks' do
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:params) { {} }
|
let(:params) { {} }
|
||||||
let!(:bookmarks) { Fabricate.times(3, :bookmark, account: user.account) }
|
let!(:bookmarks) { Fabricate.times(2, :bookmark, account: user.account) }
|
||||||
|
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
bookmarks.map do |bookmark|
|
bookmarks.map do |bookmark|
|
||||||
|
@ -37,7 +37,7 @@ RSpec.describe 'Bookmarks' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 2 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'paginates correctly', :aggregate_failures do
|
it 'paginates correctly', :aggregate_failures do
|
||||||
subject
|
subject
|
||||||
|
|
|
@ -14,7 +14,7 @@ RSpec.describe 'Favourites' do
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:params) { {} }
|
let(:params) { {} }
|
||||||
let!(:favourites) { Fabricate.times(3, :favourite, account: user.account) }
|
let!(:favourites) { Fabricate.times(2, :favourite, account: user.account) }
|
||||||
|
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
favourites.map do |favourite|
|
favourites.map do |favourite|
|
||||||
|
@ -37,7 +37,7 @@ RSpec.describe 'Favourites' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 2 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'returns only the requested number of favourites' do
|
it 'returns only the requested number of favourites' do
|
||||||
subject
|
subject
|
||||||
|
|
|
@ -32,7 +32,7 @@ RSpec.describe 'FeaturedTags' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when the requesting user has no featured tag' do
|
context 'when the requesting user has no featured tag' do
|
||||||
before { Fabricate.times(3, :featured_tag) }
|
before { Fabricate(:featured_tag) }
|
||||||
|
|
||||||
it 'returns an empty body' do
|
it 'returns an empty body' do
|
||||||
get '/api/v1/featured_tags', headers: headers
|
get '/api/v1/featured_tags', headers: headers
|
||||||
|
@ -44,7 +44,7 @@ RSpec.describe 'FeaturedTags' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'when the requesting user has featured tags' do
|
context 'when the requesting user has featured tags' do
|
||||||
let!(:user_featured_tags) { Fabricate.times(5, :featured_tag, account: user.account) }
|
let!(:user_featured_tags) { Fabricate.times(1, :featured_tag, account: user.account) }
|
||||||
|
|
||||||
it 'returns only the featured tags belonging to the requesting user' do
|
it 'returns only the featured tags belonging to the requesting user' do
|
||||||
get '/api/v1/featured_tags', headers: headers
|
get '/api/v1/featured_tags', headers: headers
|
||||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe 'Follow requests' do
|
||||||
get '/api/v1/follow_requests', headers: headers, params: params
|
get '/api/v1/follow_requests', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
|
||||||
let(:accounts) { Fabricate.times(5, :account) }
|
let(:accounts) { Fabricate.times(2, :account) }
|
||||||
let(:params) { {} }
|
let(:params) { {} }
|
||||||
|
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
|
@ -40,7 +40,7 @@ RSpec.describe 'Follow requests' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 2 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'returns only the requested number of follow requests' do
|
it 'returns only the requested number of follow requests' do
|
||||||
subject
|
subject
|
||||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe 'Followed tags' do
|
||||||
get '/api/v1/followed_tags', headers: headers, params: params
|
get '/api/v1/followed_tags', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
|
||||||
let!(:tag_follows) { Fabricate.times(5, :tag_follow, account: user.account) }
|
let!(:tag_follows) { Fabricate.times(2, :tag_follow, account: user.account) }
|
||||||
let(:params) { {} }
|
let(:params) { {} }
|
||||||
|
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
|
@ -41,7 +41,7 @@ RSpec.describe 'Followed tags' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 3 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'returns only the requested number of follow tags' do
|
it 'returns only the requested number of follow tags' do
|
||||||
subject
|
subject
|
||||||
|
@ -58,7 +58,7 @@ RSpec.describe 'Followed tags' do
|
||||||
it 'sets the correct pagination header for the next path' do
|
it 'sets the correct pagination header for the next path' do
|
||||||
subject
|
subject
|
||||||
|
|
||||||
expect(response.headers['Link'].find_link(%w(rel next)).href).to eq(api_v1_followed_tags_url(limit: params[:limit], max_id: tag_follows[2].id))
|
expect(response.headers['Link'].find_link(%w(rel next)).href).to eq(api_v1_followed_tags_url(limit: params[:limit], max_id: tag_follows.last.id))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -15,7 +15,7 @@ RSpec.describe 'Accounts' do
|
||||||
|
|
||||||
let(:params) { { limit: 0 } }
|
let(:params) { { limit: 0 } }
|
||||||
let(:list) { Fabricate(:list, account: user.account) }
|
let(:list) { Fabricate(:list, account: user.account) }
|
||||||
let(:accounts) { Fabricate.times(3, :account) }
|
let(:accounts) { Fabricate.times(2, :account) }
|
||||||
|
|
||||||
let(:expected_response) do
|
let(:expected_response) do
|
||||||
accounts.map do |account|
|
accounts.map do |account|
|
||||||
|
|
|
@ -13,7 +13,7 @@ RSpec.describe 'Mutes' do
|
||||||
get '/api/v1/mutes', headers: headers, params: params
|
get '/api/v1/mutes', headers: headers, params: params
|
||||||
end
|
end
|
||||||
|
|
||||||
let!(:mutes) { Fabricate.times(3, :mute, account: user.account) }
|
let!(:mutes) { Fabricate.times(2, :mute, account: user.account) }
|
||||||
let(:params) { {} }
|
let(:params) { {} }
|
||||||
|
|
||||||
it_behaves_like 'forbidden for wrong scope', 'write write:mutes'
|
it_behaves_like 'forbidden for wrong scope', 'write write:mutes'
|
||||||
|
@ -33,7 +33,7 @@ RSpec.describe 'Mutes' do
|
||||||
end
|
end
|
||||||
|
|
||||||
context 'with limit param' do
|
context 'with limit param' do
|
||||||
let(:params) { { limit: 2 } }
|
let(:params) { { limit: 1 } }
|
||||||
|
|
||||||
it 'returns only the requested number of muted accounts' do
|
it 'returns only the requested number of muted accounts' do
|
||||||
subject
|
subject
|
||||||
|
@ -46,8 +46,8 @@ RSpec.describe 'Mutes' do
|
||||||
|
|
||||||
headers = response.headers['Link']
|
headers = response.headers['Link']
|
||||||
|
|
||||||
expect(headers.find_link(%w(rel prev)).href).to eq(api_v1_mutes_url(limit: params[:limit], since_id: mutes[2].id.to_s))
|
expect(headers.find_link(%w(rel prev)).href).to eq(api_v1_mutes_url(limit: params[:limit], since_id: mutes.last.id.to_s))
|
||||||
expect(headers.find_link(%w(rel next)).href).to eq(api_v1_mutes_url(limit: params[:limit], max_id: mutes[1].id.to_s))
|
expect(headers.find_link(%w(rel next)).href).to eq(api_v1_mutes_url(limit: params[:limit], max_id: mutes.last.id.to_s))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -72,8 +72,8 @@ RSpec.describe 'Mutes' do
|
||||||
|
|
||||||
body = body_as_json
|
body = body_as_json
|
||||||
|
|
||||||
expect(body.size).to eq 2
|
expect(body.size).to eq 1
|
||||||
expect(body[0][:id]).to eq mutes[2].target_account_id.to_s
|
expect(body[0][:id]).to eq mutes[1].target_account_id.to_s
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ RSpec.describe 'Notifications' do
|
||||||
end
|
end
|
||||||
|
|
||||||
before do
|
before do
|
||||||
Fabricate.times(3, :notification, account: user.account)
|
Fabricate(:notification, account: user.account)
|
||||||
end
|
end
|
||||||
|
|
||||||
it_behaves_like 'forbidden for wrong scope', 'read read:notifications'
|
it_behaves_like 'forbidden for wrong scope', 'read read:notifications'
|
||||||
|
|
|
@ -156,7 +156,7 @@ describe '/api/v1/statuses' do
|
||||||
context 'when exceeding rate limit' do
|
context 'when exceeding rate limit' do
|
||||||
before do
|
before do
|
||||||
rate_limiter = RateLimiter.new(user.account, family: :statuses)
|
rate_limiter = RateLimiter.new(user.account, family: :statuses)
|
||||||
300.times { rate_limiter.record! }
|
RateLimiter::FAMILIES[:statuses][:limit].times { rate_limiter.record! }
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'returns rate limit headers', :aggregate_failures do
|
it 'returns rate limit headers', :aggregate_failures do
|
||||||
|
|
|
@ -23,7 +23,7 @@ RSpec.describe 'Filters' do
|
||||||
get '/api/v2/filters', headers: headers
|
get '/api/v2/filters', headers: headers
|
||||||
end
|
end
|
||||||
|
|
||||||
let!(:filters) { Fabricate.times(3, :custom_filter, account: user.account) }
|
let!(:filters) { Fabricate.times(2, :custom_filter, account: user.account) }
|
||||||
|
|
||||||
it_behaves_like 'forbidden for wrong scope', 'write write:filters'
|
it_behaves_like 'forbidden for wrong scope', 'write write:filters'
|
||||||
it_behaves_like 'unauthorized for invalid token'
|
it_behaves_like 'unauthorized for invalid token'
|
||||||
|
|
Loading…
Reference in New Issue