Тестирование CRUD-функции в Django Restaurant App

Мне интересно, может ли кто-нибудь помочь мне. Я пытаюсь протестировать некоторые представления в созданной мной системе бронирования ресторанов на Django. Я хорошо справляюсь только с тестированием представлений, но теперь я хочу протестировать CRUD функциональность некоторых страниц. В частности, создание бронирования на странице бронирования и последующее перенаправление на главную страницу после успешного бронирования (как это происходит на сайте). Я просто не могу понять, как это сделать. Вот мой текущий код. Если кто-то может направить меня в нужном направлении, было бы здорово. Спасибо

setUp:

class TestViews(TestCase):
"""
Testing of the views taken from
the views.py file.
All HTTP testing includes the base.html template
as well as the view being tested to make sure everything
is being tested as it would appear for a user
"""

def setUp(self):
   
    testing_user = User.objects.create_user(
        username='JohnSmith',
        first_name='John',
        last_name='Smith',
        email='johnsmith@email.com',
        password='RandomWord1'
    )

    Booking.objects.create(
        user=testing_user,
        name='John Smith',
        email_address='johnsmith@email.com',
        phone='123654789',
        number_of_people='2',
        date='2022-10-20',
        time='19:00',
        table='Window',
        occasion='none'
    )

тест:

def test_add_booking(self):
 
    self.log_in()
    response = self.client.post('/bookings', {Booking: Booking})
    self.assertRedirects(response, '/')

Вы можете проверить код статуса вашего ответа, а также сравнить содержимое ответа.

self.assertEqual(response.status_code, 200)
self.assertContains(response, "No bookins.")

Или даже точнее self.assertQuerysetEqual(response.context["the name"], ["with real content"]

Вернуться на верх