@nurzhannogerbek

Что еще добавить в юнит тест для функции сортировки?

Здравствуйте! Помогите пожалуйста разобраться.

На странице выводится список названий статей. Пользователь может перетаскивать их и сортировать на свое усмотрение. Использовал JQuery UI. Подобное поведение осуществляет данная вьюха (см. ниже).

Вопрос в следующем. Мог бы кто-нибудь помочь составить юнит тест на данную вьюху. C юнит тестированием мало имел дело. На данный момент сделал лишь проверку status_code. Было бы интерестно узнать ваши мнения. Буду благодарен любой помощи!

views.py:
from braces.views import CsrfExemptMixin, JsonRequestResponseMixin

class ArticleSortingView(CsrfExemptMixin, JsonRequestResponseMixin, FormView):
    def post(self, request, *args, **kwargs):
        for pk, idx in self.request_json.items():
            Slide.objects.filter(pk=pk).update(idx=idx)
        return self.render_json_response({'saved': 'OK'})


tests.py:
class ArticleViewTestCase(TestCase):
    def setUp(self):
        self.client = Client()
        self.credentials = {'username': 'user', 'password': 'password'}
        self.user = User.objects.create_user(**self.credentials)

    def test_sorting_article(self):
        self.assertTrue(self.user)

        logged_in = self.client.login(**self.credentials)
        self.assertTrue(logged_in)

        response = self.client.post(reverse("article:article_sorting"), follow=True)
        self.assertEqual(response.status_code, 200)
  • Вопрос задан
  • 418 просмотров
Решения вопроса 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
  • в setUp создайте несколько объектов Slide
  • добавьте в вызов
    self.client.post(reverse("article:article_sorting"), follow=True)
    json, который сменит сортировку этьм объектам
  • добавьте ещё одну проверку, помимо статуса (и, возможно, json ответа), что объекты Slide сменили свою сортировку
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы