test_custom_alias.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from flask import url_for
  2. from app.config import EMAIL_DOMAIN
  3. from app.extensions import db
  4. from app.models import Mailbox
  5. from app.utils import random_word
  6. from tests.utils import login
  7. def test_add_alias_success(flask_client):
  8. user = login(flask_client)
  9. db.session.commit()
  10. word = random_word()
  11. r = flask_client.post(
  12. url_for("dashboard.custom_alias"),
  13. data={
  14. "prefix": "prefix",
  15. "suffix": f".{word}@{EMAIL_DOMAIN}",
  16. "mailbox": user.email,
  17. },
  18. follow_redirects=True,
  19. )
  20. assert r.status_code == 200
  21. assert f"Alias prefix.{word}@{EMAIL_DOMAIN} has been created" in str(r.data)
  22. def test_not_show_unverified_mailbox(flask_client):
  23. """make sure user unverified mailbox is not shown to user"""
  24. user = login(flask_client)
  25. db.session.commit()
  26. Mailbox.create(user_id=user.id, email="m1@example.com", verified=True)
  27. Mailbox.create(user_id=user.id, email="m2@example.com", verified=False)
  28. db.session.commit()
  29. r = flask_client.get(url_for("dashboard.custom_alias"))
  30. assert "m1@example.com" in str(r.data)
  31. assert "m2@example.com" not in str(r.data)