Exemple #1
0
 def test_detail_misconfigured_queryset(self):
     # If don't provide 'model' or 'queryset',
     # we should expect an ImproperlyConfigured exception.
     create_instance(quantity=3)
     pk = Example.objects.all()[0].pk
     view = DetailView.as_view(template_name="example.html")
     self.assertRaises(ImproperlyConfigured, self.get, view, pk=pk)
Exemple #2
0
    def test_context_object_name_override(self):
        create_instance(quantity=3)
        pk = Example.objects.all()[0].pk
        view = DetailView.as_view(model=Example, context_object_name="current")
        response = self.get(view, pk=pk)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.template_name, ["vanilla/example_detail.html"])
        self.assertContext(
            response,
            {
                "object": Example.objects.get(pk=pk),
                "current": Example.objects.get(pk=pk),
                "view": InstanceOf(View),
            },
        )
Exemple #3
0
    def test_detail_missing_context_object_name(self):
        # If don't provide 'model' or 'context_object_name',
        # then the context will only contain the 'object' key.
        create_instance(quantity=3)
        pk = Example.objects.all()[0].pk
        view = DetailView.as_view(
            queryset=Example.objects.all(),
            template_name="example.html",
        )
        response = self.get(view, pk=pk)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.template_name, ["example.html"])
        self.assertContext(
            response, {"object": Example.objects.get(pk=pk), "view": InstanceOf(View)}
        )
Exemple #4
0
 def get_object(self):
     return DetailView.get_object(self)
Exemple #5
0
 def test_detail_misconfigured_urlconf(self):
     # If we don't provide 'pk' in the URL conf,
     # we should expect an ImproperlyConfigured exception.
     create_instance(quantity=3)
     view = DetailView.as_view(model=Example)
     self.assertRaises(ImproperlyConfigured, self.get, view, slug=999)
Exemple #6
0
 def test_detail_not_found(self):
     create_instance(quantity=3)
     view = DetailView.as_view(model=Example)
     self.assertRaises(Http404, self.get, view, pk=999)
 def get_object(self):
     return DetailView.get_object(self)