Rework invite creation as guided flow
This commit is contained in:
@@ -1793,6 +1793,32 @@ class PortalMediaStatusTests(unittest.IsolatedAsyncioTestCase):
|
||||
|
||||
|
||||
class InviteOperationalStateTests(TempDatabaseMixin, unittest.IsolatedAsyncioTestCase):
|
||||
async def test_manual_invite_can_be_created_without_recipient_email(self) -> None:
|
||||
payload = await admin_router.create_invite(
|
||||
{
|
||||
"label": "The neighbour",
|
||||
"recipient_email": None,
|
||||
"send_email": False,
|
||||
"max_uses": 1,
|
||||
},
|
||||
{"username": "admin", "role": "admin"},
|
||||
)
|
||||
|
||||
self.assertEqual(payload["status"], "ok")
|
||||
self.assertEqual(payload["invite"]["label"], "The neighbour")
|
||||
self.assertIsNone(payload["invite"]["recipient_email"])
|
||||
self.assertTrue(payload["invite"]["enabled"])
|
||||
|
||||
async def test_email_delivery_still_requires_valid_recipient(self) -> None:
|
||||
with self.assertRaises(HTTPException) as context:
|
||||
await admin_router.create_invite(
|
||||
{"label": "Family", "send_email": True},
|
||||
{"username": "admin", "role": "admin"},
|
||||
)
|
||||
|
||||
self.assertEqual(context.exception.status_code, 400)
|
||||
self.assertIn("required for email delivery", str(context.exception.detail))
|
||||
|
||||
async def test_invite_list_reports_automatic_operational_states(self) -> None:
|
||||
ready = db.create_signup_invite(code="READY", recipient_email="ready@example.com")
|
||||
db.create_signup_invite(code="DISABLED", enabled=False, recipient_email="off@example.com")
|
||||
|
||||
Reference in New Issue
Block a user