aboutsummaryrefslogtreecommitdiff
path: root/tests/managers/thl
diff options
context:
space:
mode:
authorstuppie2026-09-22 11:12:20 -0600
committerstuppie2026-09-22 11:12:20 -0600
commit699c27a24b92d134768822009544d8277a938418 (patch)
tree77fb3fdcc23f02bee3e3ca2b27961634eb59d0dc /tests/managers/thl
parent718853b9068cb88977d02fe9b99b0f6655b5812e (diff)
downloadgeneralresearch-699c27a24b92d134768822009544d8277a938418.tar.gz
generalresearch-699c27a24b92d134768822009544d8277a938418.zip
add canonical email column in user metadata table, field in pydantic model, parsing, filtering in manager
Diffstat (limited to 'tests/managers/thl')
-rw-r--r--tests/managers/thl/test_user_manager/test_user_metadata.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/managers/thl/test_user_manager/test_user_metadata.py b/tests/managers/thl/test_user_manager/test_user_metadata.py
index eb6a272..515c5bc 100644
--- a/tests/managers/thl/test_user_manager/test_user_metadata.py
+++ b/tests/managers/thl/test_user_manager/test_user_metadata.py
@@ -17,7 +17,6 @@ if TYPE_CHECKING:
class TestUserMetadataManager:
-
def test_get_notset(
self,
user: User,
@@ -113,3 +112,32 @@ class TestUserMetadataManager:
with pytest.raises(expected_exception=ValueError) as e:
res = user_metadata_manager.get(email_address=email_address)
assert "More than 1 result returned!" in str(e.value)
+
+ def test_canonical(
+ self,
+ product: Product,
+ user_factory: Callable[..., User],
+ user_metadata_manager: UserMetadataManager,
+ ):
+
+ u: User = user_factory(product=product)
+
+ rand_part = uuid4().hex[:12]
+ local = f"Example.{rand_part}"
+ expected_canonical = f"example{rand_part}@gmail.com"
+
+ um = UserMetadata(
+ user_id=u.user_id, email_address=f"{local}+123@googlemail.com"
+ )
+ assert um.canonical_email == expected_canonical
+ user_metadata_manager.update(user_metadata=um)
+
+ um.email_address = f"{local}+456@googlemail.com"
+ user_metadata_manager.update(user_metadata=um)
+
+ um2 = user_metadata_manager.get(email_address=um.email_address)
+ assert um2.email_address == f"{local}+456@googlemail.com"
+ assert um2.canonical_email == expected_canonical
+
+ res = user_metadata_manager.filter(canonical_emails=[expected_canonical])
+ assert len(res) == 1