def test_add_primary_email(self, db_request): old_email = EmailFactory.create(email="*****@*****.**", primary=True) user = UserFactory.create(emails=[old_email]) db_request.matchdict["user_id"] = str(user.id) db_request.method = "POST" db_request.POST["email"] = "*****@*****.**" db_request.POST["primary"] = True db_request.POST["verified"] = True db_request.POST = MultiDict(db_request.POST) db_request.route_path = pretend.call_recorder( lambda *a, **kw: "/admin/users/{}/".format(user.id)) resp = views.user_add_email(db_request) db_request.db.flush() assert resp.status_code == 303 assert resp.location == "/admin/users/{}/".format(user.id) assert len(user.emails) == 2 emails = {e.email: e for e in user.emails} assert not emails["*****@*****.**"].primary assert emails["*****@*****.**"].primary assert emails["*****@*****.**"].verified
def test_add_email(self, db_request): user = UserFactory.create(emails=[]) db_request.matchdict["user_id"] = str(user.id) db_request.method = "POST" db_request.POST["email"] = "*****@*****.**" db_request.POST["primary"] = True db_request.POST["verified"] = True db_request.POST = MultiDict(db_request.POST) db_request.route_path = pretend.call_recorder( lambda *a, **kw: "/admin/users/{}/".format(user.id) ) resp = views.user_add_email(db_request) db_request.db.flush() assert resp.status_code == 303 assert resp.location == "/admin/users/{}/".format(user.id) assert len(user.emails) == 1 email = user.emails[0] assert email.email == "*****@*****.**" assert email.primary assert email.verified
def test_add_invalid(self, db_request): user = UserFactory.create(emails=[]) db_request.matchdict["user_id"] = str(user.id) db_request.method = "POST" db_request.POST["email"] = "" db_request.POST["primary"] = True db_request.POST["verified"] = True db_request.POST = MultiDict(db_request.POST) db_request.route_path = pretend.call_recorder( lambda *a, **kw: "/admin/users/{}/".format(user.id)) resp = views.user_add_email(db_request) db_request.db.flush() assert resp.status_code == 303 assert resp.location == "/admin/users/{}/".format(user.id) assert user.emails == []