# retoor <retoor@molodetz.nl>
def test_primary_admin_ignores_accounts_without_a_signup_time(local_db):
from devplacepy.database import get_primary_admin_uid, invalidate_admins_cache
users = local_db["users"]
users.insert(
{
"uid": "pa-real",
"username": "pa-real",
"role": "Admin",
"created_at": "2020-01-01T00:00:00",
"deleted_at": None,
}
)
users.insert(
{
"uid": "pa-null",
"username": "pa-null",
"role": "Admin",
"created_at": None,
"deleted_at": None,
}
)
users.insert(
{
"uid": "pa-blank",
"username": "pa-blank",
"role": "Admin",
"created_at": "",
"deleted_at": None,
}
)
invalidate_admins_cache()
try:
assert get_primary_admin_uid() == "pa-real"
finally:
for uid in ("pa-real", "pa-null", "pa-blank"):
users.delete(uid=uid)
invalidate_admins_cache()
def test_primary_admin_skips_deactivated_and_deleted_founders(local_db):
from devplacepy.database import get_primary_admin_uid, invalidate_admins_cache
users = local_db["users"]
seeded = [
("pa-deleted", "2001-01-01T00:00:00", True, "2020-01-01T00:00:00"),
("pa-inactive", "2002-01-01T00:00:00", False, None),
("pa-usable", "2003-01-01T00:00:00", True, None),
]
for uid, created_at, active, deleted_at in seeded:
users.insert(
{
"uid": uid,
"username": uid,
"role": "Admin",
"created_at": created_at,
"is_active": active,
"deleted_at": deleted_at,
}
)
invalidate_admins_cache()
try:
assert get_primary_admin_uid() == "pa-usable"
finally:
for uid, _, _, _ in seeded:
users.delete(uid=uid)
invalidate_admins_cache()