【发布时间】:2019-02-05 10:14:35
【问题描述】:
我的问题:我正在编写测试并且收到 302 个响应而不是 200 个响应。我认为这是意料之中的,因为当用户未登录且未分配到 Employee_Management 组时,他们会总是被重定向。
所以我试图创建一个用户并将其添加到组中,但我不知道如何检查用户是否实际登录,或者它是否是组的一部分。我没有从设置中得到任何错误,但测试仍然失败并给我一个 302。所以我的猜测是我搞砸了我的设置。想法?
查看:
@method_decorator(group_required('Employee_Management'), name='dispatch')
class ListActiveView(TemplateView):
def get(self, request):
users = User.objects.all().exclude(is_superuser=True)
return render(request, 'user/list_active.html', {
'users': users,
})
网址:
app_name = 'user'
urlpatterns = [path('list_active/', ListActiveView.as_view(), name='list_active')]
测试:
class TestListActive(TestCase):
def setUp(self):
user = User.objects.create(username='testuser', password='testuserpass')
emp_man = Group.objects.create(name='Employee_Management')
user.groups.add(emp_man)
c = Client()
c.login(username='testuser', password='testuserpass')
def test_list_active_url(self):
response = self.client.get(reverse('user:list_active'))
self.assertEquals(response.status_code, 200)
【问题讨论】:
标签: django django-models django-views django-testing django-tests