improves incomplete verification scope [#500]
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
class Admin::VerificationsController < Admin::BaseController
|
||||
|
||||
def index
|
||||
@users = User.unverified.page(params[:page])
|
||||
@users = User.incomplete_verification.page(params[:page])
|
||||
end
|
||||
|
||||
def search
|
||||
@users = User.unverified.search(params[:name_or_email]).page(params[:page]).for_render
|
||||
@users = User.incomplete_verification.search(params[:name_or_email]).page(params[:page]).for_render
|
||||
render :index
|
||||
end
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@ module Verification
|
||||
scope :level_two_verified, -> { where("users.confirmed_phone IS NOT NULL AND users.residence_verified_at IS NOT NULL") }
|
||||
scope :level_two_or_three_verified, -> { where("users.verified_at IS NOT NULL OR (users.confirmed_phone IS NOT NULL AND users.residence_verified_at IS NOT NULL)") }
|
||||
scope :unverified, -> { where("users.verified_at IS NULL AND (users.residence_verified_at IS NULL OR users.confirmed_phone IS NULL)") }
|
||||
scope :with_failed_attempts, -> { where("users.failed_census_calls_count > ?", 0) }
|
||||
scope :incomplete_verification, -> { unverified.with_failed_attempts }
|
||||
scope :incomplete_verification, -> { where("(users.residence_verified_at IS NULL AND users.failed_census_calls_count > ?) OR (users.residence_verified_at IS NOT NULL AND (users.unconfirmed_phone IS NULL OR users.confirmed_phone IS NULL))", 0) }
|
||||
end
|
||||
|
||||
def verification_email_sent?
|
||||
|
||||
@@ -55,27 +55,20 @@ shared_examples_for "verifiable" do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#with_failed_attempts" do
|
||||
it "returns users with failed verification attempts" do
|
||||
user1 = create(:user, verified_at: nil, confirmed_phone: nil)
|
||||
user2 = create(:user, verified_at: nil, confirmed_phone: nil)
|
||||
create(:failed_census_call, user: user1)
|
||||
|
||||
expect(model.with_failed_attempts).to include(user1)
|
||||
expect(model.with_failed_attempts).to_not include(user2)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#incomplete_verification" do
|
||||
it "returns users with incomplete verifications" do
|
||||
user1 = create(:user, verified_at: nil, confirmed_phone: nil)
|
||||
user2 = create(:user, verified_at: nil, confirmed_phone: nil)
|
||||
user3 = create(:user, verified_at: Time.now, residence_verified_at: Time.now, confirmed_phone: "123456789")
|
||||
create(:failed_census_call, user: user1)
|
||||
|
||||
expect(model.with_failed_attempts).to include(user1)
|
||||
expect(model.with_failed_attempts).to_not include(user2)
|
||||
expect(model.with_failed_attempts).to_not include(user3)
|
||||
user2 = create(:user, verified_at: nil, residence_verified_at: Time.now, unconfirmed_phone: nil)
|
||||
user3 = create(:user, verified_at: nil, confirmed_phone: nil)
|
||||
user4 = create(:user, verified_at: Time.now, residence_verified_at: Time.now, unconfirmed_phone: "123456789", confirmed_phone: "123456789")
|
||||
|
||||
|
||||
expect(model.incomplete_verification).to include(user1)
|
||||
expect(model.incomplete_verification).to include(user2)
|
||||
expect(model.incomplete_verification).to_not include(user3)
|
||||
expect(model.incomplete_verification).to_not include(user4)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user