Compare commits

..

No commits in common. "8d0730bf7061f3f02d851ba4721b8fb2046dcac1" and "aec64ea5f34e3314b4522f817626128415270d50" have entirely different histories.

2 changed files with 17 additions and 37 deletions

View File

@ -19,11 +19,6 @@ repos:
- id: ruff - id: ruff
- id: ruff-format - id: ruff-format
- repo: https://github.com/pdm-project/pdm
rev: 2.12.3
hooks:
- id: pdm-lock-check
# TODO: waiting on django-recurrence 1.12 to be released on PyPi # TODO: waiting on django-recurrence 1.12 to be released on PyPi
# - repo: local # - repo: local
# hooks: # hooks:

View File

@ -1,5 +1,3 @@
from itertools import chain
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
@ -80,42 +78,29 @@ class InstructorOrVendorReportTestCase(PermissionRequiredViewTestCaseMixin, Test
@st.composite @st.composite
def random_certifications( def random_certifications(draw):
draw, departments = draw(st.lists(from_model(Department), min_size=1))
) -> list[Certification]: definitions = draw(
def certifications(version: CertificationVersion): st.lists(
return st.lists(
from_model( from_model(
Certification, CertificationDefinition, department=st.sampled_from(departments)
number=st.none(),
certification_version=st.just(version),
), ),
max_size=10, min_size=1,
) )
)
def versions_with_certifications(definition: CertificationDefinition): certification_versions = draw(
return st.lists( st.lists(
from_model(CertificationVersion, definition=st.just(definition)).flatmap( from_model(CertificationVersion, definition=st.sampled_from(definitions)),
certifications min_size=1,
),
max_size=2,
)
def definitions_with_versions(department: Department):
return st.lists(
from_model(CertificationDefinition, department=st.just(department)).flatmap(
versions_with_certifications
),
max_size=2,
) )
)
return draw( return draw(
st.lists( st.lists(
from_model(Department).flatmap(definitions_with_versions), from_model(
max_size=2, Certification,
).map( number=st.none(),
lambda x: list( certification_version=st.sampled_from(certification_versions),
chain.from_iterable(chain.from_iterable(chain.from_iterable(x)))
) )
) )
) )
@ -126,7 +111,7 @@ class CertifiersReportTestCase(PermissionRequiredViewTestCaseMixin, TestCase):
path = "/paperwork/certifiers" path = "/paperwork/certifiers"
@given(certifications=random_certifications()) @given(certifications=random_certifications())
def test_certifiers_report(self, certifications: list[Certification]) -> None: def test_certifers_report(self, certifications: list[Certification]) -> None:
self.client.force_login(self.user_with_permission) self.client.force_login(self.user_with_permission)
response = self.client.get(self.path) response = self.client.get(self.path)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)