DEV: Use staged user check instead (#24578)

This change refactors the check `user.groups.any?` and instead uses
`user.staged?` to check if the user is staged or not.

Also fixes several tests to ensure the users have their auto trust level
groups created.

Follow up to:

- 8a45f84277e6e13bc48b8f4e40350a9cbd5cd2ee
- 447d9b210556e64c14f9ca9f8f9b52f54090cd41
- c89edd9e86870f97a770816210d71400f09181f2
This commit is contained in:
Blake Erickson
2023-11-28 07:34:02 -07:00
committed by GitHub
parent 2a3418fe24
commit 21d614215b
4 changed files with 18 additions and 13 deletions

View File

@ -3,13 +3,17 @@
require "rails_helper"
RSpec.describe PostsController do
let!(:user) { log_in }
let!(:user) { Fabricate(:user, refresh_auto_groups: true) }
let!(:title) { "Testing Poll Plugin" }
before { SiteSetting.min_first_post_typing_time = 0 }
before do
SiteSetting.min_first_post_typing_time = 0
log_in_user(user)
end
describe "polls" do
it "works" do
Group.refresh_automatic_groups!
post :create, params: { title: title, raw: "[poll]\n- A\n- B\n[/poll]" }, format: :json
expect(response.status).to eq(200)
@ -375,7 +379,7 @@ RSpec.describe PostsController do
before { SiteSetting.poll_minimum_trust_level_to_create = 2 }
it "invalidates the post" do
log_in_user(Fabricate(:user, trust_level: 1))
log_in_user(Fabricate(:user, trust_level: 1, refresh_auto_groups: true))
post :create, params: { title: title, raw: "[poll]\n- A\n- B\n[/poll]" }, format: :json
@ -408,7 +412,7 @@ RSpec.describe PostsController do
before { SiteSetting.poll_minimum_trust_level_to_create = 2 }
it "validates the post" do
log_in_user(Fabricate(:user, trust_level: 2))
log_in_user(Fabricate(:user, trust_level: 2, refresh_auto_groups: true))
post :create, params: { title: title, raw: "[poll]\n- A\n- B\n[/poll]" }, format: :json
@ -423,7 +427,7 @@ RSpec.describe PostsController do
before { SiteSetting.poll_minimum_trust_level_to_create = 2 }
it "validates the post" do
log_in_user(Fabricate(:user, trust_level: 3))
log_in_user(Fabricate(:user, trust_level: 3, refresh_auto_groups: true))
post :create, params: { title: title, raw: "[poll]\n- A\n- B\n[/poll]" }, format: :json
@ -453,7 +457,7 @@ RSpec.describe PostsController do
before { SiteSetting.poll_minimum_trust_level_to_create = 2 }
it "validates the post" do
log_in_user(Fabricate(:user, trust_level: 1))
log_in_user(Fabricate(:user, trust_level: 1, refresh_auto_groups: true))
post :create, params: { title: title, raw: title }, format: :json