单元测试@verified_email_required视图

时间:2020-05-14 05:06:31

标签: django selenium testing tdd

我正在尝试对用@verified_email_required装饰的视图之一进行单元测试。我无法找出如何将用户设置为已验证其电子邮件,以便允许他们查看该页面并断言该页面使用正确的模板(创建超级用户无济于事)。

这是我收到的错误

let response = {
  "0hmITkwFMbB2BDIUFlFm": {
    "price": 89,
    "categories": ["wireless", "broadband"],
    "companyname": "T-Mobile",
    "symbol": "TMUS"
  },
  "8g570i57at8yTjoZtSuk": {
    "companyname": "Microsoft",
    "symbol": "MSFT",
    "price": 181.25,
    "categories": ["technology", "software"]
  },
  "OMc8V4AVH5q5z0Sis8vp": {
    "companyname": "Amazon",
    "symbol": "AMZN",
    "price": 2419.49,
    "categories": ["E-commerce", "consumer products"]
  }
}

let newObject = {}

for (const property in response) {
  if (response[property].categories.indexOf("technology") > -1) {
    newObject[property] = response[property];
  }
}

console.log(newObject)

这是我的考验

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

谢谢。

1 个答案:

答案 0 :(得分:1)

这不是标准的Django身份验证,而是depends_on软件包中的一种。

要验证电子邮件地址,您必须使用django-allauth创建一个EmailAdress对象

verified=True

您可以在source of django-allauth中看到以下模型,也可以在package tests中看到一些