def test_generate_email_verification_code_new_phone(MockHttpClient): email = '*****@*****.**' resp = VerificationService.generate_email_verification_code(email) assert isinstance(resp, VerificationServiceResponse) db_code = VC.query.filter(VC.email == email).first() assert db_code is not None assert db_code.code is not None assert 6 == len(db_code.code) assert db_code.expires_at is not None assert db_code.created_at is not None assert db_code.updated_at is not None
def test_generate_email_verification_code_email_already_in_db( MockHttpClient, session): vc_obj = VerificationCodeFactory.build() expires_at = vc_obj.expires_at vc_obj.created_at = utcnow() - datetime.timedelta(seconds=10) vc_obj.updated_at = utcnow() - datetime.timedelta(seconds=10) session.add(vc_obj) session.commit() email = vc_obj.email resp = VerificationService.generate_email_verification_code(email) assert isinstance(resp, VerificationServiceResponse) assert VC.query.filter(VC.email == email).count() == 1 db_code = VC.query.filter(VC.email == email).first() assert db_code is not None assert db_code.code is not None assert len(db_code.code) == 6 assert db_code.expires_at is not None assert db_code.created_at is not None assert db_code.updated_at is not None assert db_code.updated_at >= db_code.created_at assert db_code.expires_at > expires_at