Задать вопрос
@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)
  • Вопрос задан
  • 420 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 1
Assargin
@Assargin
Перед ответом смотрю наличие ✔ в ваших вопросах
  • в setUp создайте несколько объектов Slide
  • добавьте в вызов
    self.client.post(reverse("article:article_sorting"), follow=True)
    json, который сменит сортировку этьм объектам
  • добавьте ещё одну проверку, помимо статуса (и, возможно, json ответа), что объекты Slide сменили свою сортировку
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽