mirror of
https://github.com/discourse/discourse.git
synced 2025-06-01 09:08:10 +08:00
Internal renaming of elder,leader,regular,basic to numbers
Changed internals so trust levels are referred to with TrustLevel[1], TrustLevel[2] etc. This gives us much better flexibility naming trust levels, these names are meant to be controlled by various communities.
This commit is contained in:
@ -6,16 +6,16 @@ describe Promotion do
|
||||
describe "review" do
|
||||
it "skips regular users" do
|
||||
# Reviewing users at higher trust levels is expensive, so trigger those reviews in a background job.
|
||||
regular = Fabricate.build(:user, trust_level: TrustLevel.levels[:regular])
|
||||
regular = Fabricate.build(:user, trust_level: TrustLevel[2])
|
||||
promotion = described_class.new(regular)
|
||||
promotion.expects(:review_regular).never
|
||||
promotion.expects(:review_tl2).never
|
||||
promotion.review
|
||||
end
|
||||
end
|
||||
|
||||
context "newuser" do
|
||||
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel.levels[:newuser])}
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel[0])}
|
||||
let(:promotion) { Promotion.new(user) }
|
||||
|
||||
it "doesn't raise an error with a nil user" do
|
||||
@ -30,7 +30,7 @@ describe Promotion do
|
||||
end
|
||||
|
||||
it "has not changed the user's trust level" do
|
||||
user.trust_level.should == TrustLevel.levels[:newuser]
|
||||
user.trust_level.should == TrustLevel[0]
|
||||
end
|
||||
end
|
||||
|
||||
@ -49,7 +49,7 @@ describe Promotion do
|
||||
end
|
||||
|
||||
it "has upgraded the user to basic" do
|
||||
user.trust_level.should == TrustLevel.levels[:basic]
|
||||
user.trust_level.should == TrustLevel[1]
|
||||
end
|
||||
end
|
||||
|
||||
@ -57,7 +57,7 @@ describe Promotion do
|
||||
|
||||
context "basic" do
|
||||
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel.levels[:basic])}
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel[1])}
|
||||
let(:promotion) { Promotion.new(user) }
|
||||
|
||||
context 'that has done nothing' do
|
||||
@ -68,7 +68,7 @@ describe Promotion do
|
||||
end
|
||||
|
||||
it "has not changed the user's trust level" do
|
||||
user.trust_level.should == TrustLevel.levels[:basic]
|
||||
user.trust_level.should == TrustLevel[1]
|
||||
end
|
||||
end
|
||||
|
||||
@ -92,57 +92,57 @@ describe Promotion do
|
||||
end
|
||||
|
||||
it "has upgraded the user to regular" do
|
||||
user.trust_level.should == TrustLevel.levels[:regular]
|
||||
user.trust_level.should == TrustLevel[2]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
context "regular" do
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel.levels[:regular])}
|
||||
let(:user) { Fabricate(:user, trust_level: TrustLevel[2])}
|
||||
let(:promotion) { Promotion.new(user) }
|
||||
|
||||
context "doesn't qualify for promotion" do
|
||||
before do
|
||||
LeaderRequirements.any_instance.expects(:requirements_met?).at_least_once.returns(false)
|
||||
TrustLevel3Requirements.any_instance.expects(:requirements_met?).at_least_once.returns(false)
|
||||
end
|
||||
|
||||
it "review_regular returns false" do
|
||||
it "review_tl2 returns false" do
|
||||
expect {
|
||||
promotion.review_regular.should == false
|
||||
promotion.review_tl2.should == false
|
||||
}.to_not change { user.reload.trust_level }
|
||||
end
|
||||
|
||||
it "doesn't promote" do
|
||||
expect {
|
||||
promotion.review_regular
|
||||
promotion.review_tl2
|
||||
}.to_not change { user.reload.trust_level }
|
||||
end
|
||||
|
||||
it "doesn't log a trust level change" do
|
||||
expect {
|
||||
promotion.review_regular
|
||||
promotion.review_tl2
|
||||
}.to_not change { UserHistory.count }
|
||||
end
|
||||
end
|
||||
|
||||
context "qualifies for promotion" do
|
||||
before do
|
||||
LeaderRequirements.any_instance.expects(:requirements_met?).at_least_once.returns(true)
|
||||
TrustLevel3Requirements.any_instance.expects(:requirements_met?).at_least_once.returns(true)
|
||||
end
|
||||
|
||||
it "review_regular returns true" do
|
||||
promotion.review_regular.should == true
|
||||
it "review_tl2 returns true" do
|
||||
promotion.review_tl2.should == true
|
||||
end
|
||||
|
||||
it "promotes to leader" do
|
||||
promotion.review_regular.should == true
|
||||
user.reload.trust_level.should == TrustLevel.levels[:leader]
|
||||
it "promotes to tl3" do
|
||||
promotion.review_tl2.should == true
|
||||
user.reload.trust_level.should == TrustLevel[3]
|
||||
end
|
||||
|
||||
it "logs a trust level change" do
|
||||
expect {
|
||||
promotion.review_regular
|
||||
promotion.review_tl2
|
||||
}.to change { UserHistory.where(action: UserHistory.actions[:auto_trust_level_change]).count }.by(1)
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user