FIX: Clarify User.group_locked_trust_level.

* Rename User.group_locked_trust_level to User.group_granted_trust_level.

* Remove the column from users table.
This commit is contained in:
Bianca Nenciu
2018-08-25 00:41:03 +02:00
committed by Guo Xiang Tan
parent bdb8e9efdb
commit 2070edf889
9 changed files with 58 additions and 37 deletions

View File

@@ -17,26 +17,29 @@ describe Jobs::Tl3Promotions do
subject(:run_job) { described_class.new.execute({}) }
it "promotes tl2 user who qualifies for tl3" do
_tl2_user = Fabricate(:user, trust_level: TrustLevel[2])
create_qualifying_stats(_tl2_user)
tl2_user = Fabricate(:user, trust_level: TrustLevel[2])
create_qualifying_stats(tl2_user)
TrustLevel3Requirements.any_instance.stubs(:requirements_met?).returns(true)
Promotion.any_instance.expects(:change_trust_level!).with(TrustLevel[3], anything).once
run_job
end
it "promotes a qualifying tl2 user who has a group_locked_trust_level" do
_group_locked_user = Fabricate(:user, trust_level: TrustLevel[2], group_locked_trust_level: TrustLevel[1])
create_qualifying_stats(_group_locked_user)
it "promotes a qualifying tl2 user who has a group_granted_trust_level" do
group = Fabricate(:group, grant_trust_level: 1)
group_locked_user = Fabricate(:user, trust_level: TrustLevel[2])
group.add(group_locked_user)
create_qualifying_stats(group_locked_user)
TrustLevel3Requirements.any_instance.stubs(:requirements_met?).returns(true)
Promotion.any_instance.expects(:change_trust_level!).with(TrustLevel[3], anything).once
run_job
end
it "doesn't promote tl1 and tl0 users who have met tl3 requirements" do
_tl1_user = Fabricate(:user, trust_level: TrustLevel[1])
_tl0_user = Fabricate(:user, trust_level: TrustLevel[0])
create_qualifying_stats(_tl1_user)
create_qualifying_stats(_tl0_user)
tl1_user = Fabricate(:user, trust_level: TrustLevel[1])
tl0_user = Fabricate(:user, trust_level: TrustLevel[0])
create_qualifying_stats(tl1_user)
create_qualifying_stats(tl0_user)
TrustLevel3Requirements.any_instance.expects(:requirements_met?).never
Promotion.any_instance.expects(:change_trust_level!).never
run_job
@@ -91,10 +94,12 @@ describe Jobs::Tl3Promotions do
expect(user.reload.trust_level).to eq(TrustLevel[3])
end
it "demotes a user with a group_locked_trust_level of 2" do
it "demotes a user with a group_granted_trust_level of 2" do
group = Fabricate(:group, grant_trust_level: 2)
user = nil
freeze_time(4.days.ago) do
user = Fabricate(:user, trust_level: TrustLevel[3], group_locked_trust_level: TrustLevel[2])
user = Fabricate(:user, trust_level: TrustLevel[3])
group.add(user)
end
TrustLevel3Requirements.any_instance.stubs(:requirements_met?).returns(false)
TrustLevel3Requirements.any_instance.stubs(:requirements_lost?).returns(true)
@@ -103,10 +108,12 @@ describe Jobs::Tl3Promotions do
end
it "doesn't demote user if their group_locked_trust_level is 3" do
it "doesn't demote user if their group_granted_trust_level is 3" do
group = Fabricate(:group, grant_trust_level: 3)
user = nil
freeze_time(4.days.ago) do
user = Fabricate(:user, trust_level: TrustLevel[3], group_locked_trust_level: TrustLevel[3])
user = Fabricate(:user, trust_level: TrustLevel[3])
group.add(user)
end
TrustLevel3Requirements.any_instance.stubs(:requirements_met?).returns(false)
TrustLevel3Requirements.any_instance.stubs(:requirements_lost?).returns(true)