我正在尝试对使用@verified_email_required装饰的视图之一进行单元测试。我无法找出如何将用户设置为已验证其电子邮件,以便允许他们查看该页面并断言该页面使用正确的模板(创建超级用户无济于事)。
这是我收到的错误
AssertionError: False is not true : Template 'enrolment/index.html' was not a template used to render the response. Actual template(s) used: account/verified_email_required.html, account/base.html, base.html
这是我的测试
def test_verified_user_uses_correct_template(self):
user = User.objects.create_superuser('username')
self.client.force_login(user)
response = self.client.get('/enrolment/')
self.assertTemplateUsed(response, 'enrolment/index.html')
谢谢。
这不是标准的Django身份验证,而是django-allauth
软件包中的一个。
要验证电子邮件地址,您必须使用EmailAdress
创建一个verified=True
对象>
EmailAddress.objects.create(user=user, email="[email protected]", primary=True, verified=True)
您可以在source of django-allauth中看到以下模型,也可以在package tests中看到一些