Skip to content

Commit

Permalink
Add tests for folders
Browse files Browse the repository at this point in the history
  • Loading branch information
JasonGrace2282 committed Jun 16, 2024
1 parent 7128193 commit ba2b32c
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions tin/apps/assignments/tests/test_folders.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
from __future__ import annotations

import io

from django.conf import settings
from django.urls import reverse

from tin.tests import is_redirect, login, str_to_html


@login("teacher")
def test_create_folder(client, course) -> None:
response = client.post(
reverse("assignments:add_folder", args=[course.id]), {"name": "Fragment Shader"}
)
assert is_redirect(response)
assert course.folders.exists()


@login("teacher")
def test_delete_folder(client, course) -> None:
folder = course.folders.create(name="My Folder")
response = client.post(reverse("assignments:delete_folder", args=[course.id, folder.id]))

assert is_redirect(response)
assert not course.folders.exists()


@login("teacher")
def test_incorrect_files(client, assignment):
binary_data = io.BytesIO(b"b" * (settings.SUBMISSION_SIZE_LIMIT + 1))
response = client.post(
reverse("assignments:manage_files", args=[assignment.id]), {"upload_file": binary_data}
)

error = str_to_html("That file's too large.")
assert error in response.content.decode("utf-8")


@login("teacher")
def test_files_management(client, assignment):
sample_grader = io.BytesIO(b"some text")
response = client.post(
reverse("assignments:manage_files", args=[assignment.id]), {"upload_file": sample_grader}
)

assert is_redirect(response)

0 comments on commit ba2b32c

Please sign in to comment.