mirror of
https://github.com/discourse/discourse.git
synced 2025-04-18 08:03:48 +08:00
FIX: Fix bulk_invite flaky tests (#17256)
This commit is contained in:
parent
f56c44d1c7
commit
2b80133819
@ -1026,12 +1026,15 @@ describe InvitesController do
|
||||
end
|
||||
|
||||
context '#resend_all_invites' do
|
||||
it 'resends all non-redeemed invites by a user' do
|
||||
SiteSetting.invite_expiry_days = 30
|
||||
let(:admin) { Fabricate(:admin) }
|
||||
|
||||
before do
|
||||
SiteSetting.invite_expiry_days = 30
|
||||
end
|
||||
|
||||
it 'resends all non-redeemed invites by a user' do
|
||||
freeze_time
|
||||
|
||||
admin = Fabricate(:admin)
|
||||
new_invite = Fabricate(:invite, invited_by: admin)
|
||||
expired_invite = Fabricate(:invite, invited_by: admin)
|
||||
expired_invite.update!(expires_at: 2.days.ago)
|
||||
@ -1047,6 +1050,17 @@ describe InvitesController do
|
||||
expect(expired_invite.reload.expires_at).to eq_time(2.days.ago)
|
||||
expect(redeemed_invite.reload.expires_at).to eq_time(5.days.ago)
|
||||
end
|
||||
|
||||
it 'errors if admins try to exceed limit of one bulk invite per day' do
|
||||
RateLimiter.enable
|
||||
sign_in(admin)
|
||||
|
||||
post '/invites/reinvite-all'
|
||||
expect(response.status).to eq(200)
|
||||
|
||||
post '/invites/reinvite-all'
|
||||
expect(response.parsed_body['errors'][0]).to eq(I18n.t("rate_limiter.slow_down"))
|
||||
end
|
||||
end
|
||||
|
||||
context '#upload_csv' do
|
||||
@ -1077,15 +1091,6 @@ describe InvitesController do
|
||||
expect(Jobs::BulkInvite.jobs.size).to eq(1)
|
||||
end
|
||||
|
||||
it 'limits admins when bulk inviting' do
|
||||
sign_in(admin)
|
||||
post '/invites/upload_csv.json', params: { file: file, name: 'discourse.csv' }
|
||||
expect(response.status).to eq(200)
|
||||
post '/invites/upload_csv.json', params: { file: file, name: 'discourse.csv' }
|
||||
expect(response.status).to eq(422)
|
||||
expect(Jobs::BulkInvite.jobs.size).to eq(1)
|
||||
end
|
||||
|
||||
it 'allows admin to bulk invite when DiscourseConnect enabled' do
|
||||
SiteSetting.discourse_connect_url = "https://example.com"
|
||||
SiteSetting.enable_discourse_connect = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user