Skip to content

Commit 2a6ffdf

Browse files
committed
fix jobs view, add regression test
1 parent b4c4b53 commit 2a6ffdf

2 files changed

Lines changed: 14 additions & 6 deletions

File tree

src/files/tests/test_views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,17 @@ def test_file_tag_list_view(self) -> None:
267267
rows = soup.select("div.table-container > table > tbody > tr")
268268
assert len(rows) == 2, "did not get 2 rows in file tag list view"
269269

270+
######### FILE JOB LIST ####################################
271+
272+
def test_file_job_list_view(self) -> None:
273+
"""Test the file job list view."""
274+
self.client.login(username="creator2", password="secret")
275+
response = self.client.get(reverse("files:file_jobs", kwargs={"file_uuid": self.files[0]}))
276+
content = response.content.decode()
277+
soup = BeautifulSoup(content, "html.parser")
278+
rows = soup.select("div.table-container > table > tbody > tr")
279+
assert len(rows) == 25, "did not get 25 rows in file job list view"
280+
270281
######### FILE TAG CREATE ####################################
271282

272283
def test_file_tag_create_view(self) -> None:

src/files/views.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ def form_invalid(self, form: Form) -> HttpResponse:
333333
########## File job and album views ######################################################
334334

335335

336-
class FileJobsView(SingleTableMixin, FilterView):
336+
class FileJobsView(FileViewMixin, SingleTableMixin, FilterView):
337337
"""File jobs view. Shows all jobs for a file."""
338338

339339
template_name = "file_jobs.html"
@@ -342,18 +342,15 @@ class FileJobsView(SingleTableMixin, FilterView):
342342
table_class = JobTable
343343
filterset_class = JobFilter
344344

345-
def get_queryset(self, queryset: models.QuerySet[BaseJob] | None = None) -> models.QuerySet[BaseJob]:
345+
def get_queryset(self, queryset: models.QuerySet[BaseJob] | None = None) -> models.QuerySet[BaseJob]: # type: ignore[override]
346346
"""Get jobs."""
347-
self.file = get_object_or_404(
348-
BaseFile.objects.get_permitted(user=self.request.user), uuid=self.kwargs["file_uuid"]
349-
)
350347
return BaseJob.objects.filter(basefile=self.file)
351348

352349
def get_context_data(self, **kwargs: dict[str, str]) -> dict[str, str]:
353350
"""Add total_jobs to context."""
354351
context = super().get_context_data(**kwargs)
355352
context["total_jobs"] = self.file.jobs.count()
356-
return context # type: ignore[no-any-return]
353+
return context
357354

358355

359356
class FileAlbumsView(FileViewMixin, SingleTableMixin, FilterView):

0 commit comments

Comments
 (0)