Нужно помочь разобраться в Юнит-тестах

endronio

Новичок
Пользователь
Окт 29, 2020
13
0
1
Решил протестить вьюхи с помошью юнит-тестов, но не могу разобраться каким образом их тестить, вот собственно вьюхи:
class MovieDetailView(Genrey, DetailView):
"""Полное описание фильма"""
model = Movie
slug_field = "url"

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context["star_form"] = RatingForm()
return context


class FilterMoviesView(Genrey, ListView):
"""Фильтр фильмов"""

def get_queryset(self):
queryset = Movie.objects.distinct('id').filter (genres__in=self.request.GET.getlis t("genre"))
return queryset


class Search(Genrey, ListView):
"""Поиск фильмов"""
paginate_by = 10

def get_queryset(self):
return Movie.objects.filter(title__icontai ns=self.request.GET.get("q"))


class AddStarRating(View):
"""Добавление рейтинга фильму"""

def get_client_ip(self, request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_ FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[0]
else:
ip = request.META.get('REMOTE_ADDR')
return ip

def post(self, request):
form = RatingForm(request.POST)
if form.is_valid():
Rating.objects.update_or_create(
ip=self.get_client_ip(request),
movie_id=int(request.POST.get("movi e")),
defaults={'star_id': int(request.POST.get("star"))}
)
return HttpResponse(status=201)
else:
return HttpResponse(status=400)


class AddReview(View):
"""Отзывы"""

def post(self, request, pk):
form = ReviewForm(request.POST)
movie = Movie.objects.get(id=pk)
if form.is_valid():
form = form.save(commit=False)
if request.POST.get("parent", None):
form.parent_id = int(request.POST.get("parent"))
form.movie = movie
form.save()
return redirect(movie.get_absolute_url())
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
код вставляйте через теги code, где пишите сообщение чуть выше в панели инструментов есть три точки -> код и туда вставляете фрагмент кода
а тесты где?
 

endronio

Новичок
Пользователь
Окт 29, 2020
13
0
1
код вставляйте через теги code, где пишите сообщение чуть выше в панели инструментов есть три точки -> код и туда вставляете фрагмент кода
а тесты где?
собственно я бы и хотел чтобы помогли с этим хотябы 1 пример показали как делать
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 625
469
83
описано как пользоваться
 

Форум IT Специалистов