Как провести модульное тестирование "if request.user.is_superuser:" и "if request.method == 'POST':" с помощью фреймворка unittest

У меня есть представление, которое называется add_product. Теперь я хочу протестировать это представление с помощью фреймворка python unittest. В моей функции add_product я проверяю, что если пользователь является superuser и если request.method == 'POST' как я могу это сделать?

views.py

def add_product(request):

    if request.user.is_superuser:

        if request.method == 'POST':
            product_name = request.POST['product_name']
            product_category = request.POST['product_category']
            product_price = request.POST['product_price']
            product_photo = request.FILES['product_photo']
            product_description = request.POST['product_description']

            add_product = Product(product_name = product_name, category = product_category, price = product_price,
                                  description = product_description, pub_date = datetime.today(), image = product_photo)
            add_product.save()

            return render(request, 'home/home.html')

        else:
            return HttpResponse("404-Not Found")

    else:
        return render(request, 'html_view_with_error', {"error" : "PERMISSION DENIED"})

вот моя попытка на данный момент

тест_просмотров

    def test_add_product(self):

        product = Product.objects.create(

            product_id = 16,
            product_name = "Mango",
            category = "Fruit",
            price = 350,
            description = "Fresh Mangoes",
            pub_date = "2022-02-18",
            
        )

        client = Client()
        response = client.get(reverse('home'))
        self.assertEquals(response.status_code, 200)
        self.assertEqual(str(product), "Mango")
Вернуться на верх