From 557b2f0d01d6177f14c96fda8bf39cfd3f22f6ac Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Thu, 16 May 2024 17:46:21 +0100 Subject: wip: working on setting up the tests --- pyblackbird_cc/resources/factories.py | 45 ++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) (limited to 'pyblackbird_cc/resources/factories.py') diff --git a/pyblackbird_cc/resources/factories.py b/pyblackbird_cc/resources/factories.py index b78822d..af818a1 100644 --- a/pyblackbird_cc/resources/factories.py +++ b/pyblackbird_cc/resources/factories.py @@ -1,5 +1,7 @@ import factory +from .models import PDFResource + class ResourceTypeModelFactory(factory.django.DjangoModelFactory): class Meta: @@ -17,15 +19,52 @@ class ResourceCategoryModelFactory(factory.django.DjangoModelFactory): name = factory.Sequence(lambda n: f"Default Resource Category {n}") +class PDFResourceModelFactory(factory.django.DjangoModelFactory): + class Meta: + model = "resources.PDFResource" + + resource = factory.SubFactory("resources.tests.factories.ResourceModelFactory") + file_name = factory.Sequence(lambda n: f"test_{n}.pdf") + file_size = factory.Faker("random_int", min=0, max=1000) + + +class PDFPageSnapshotModelFactory(factory.django.DjangoModelFactory): + class Meta: + model = "resources.PDFPageSnapshot" + + name = factory.Sequence(lambda n: f"pdf_page_snapshot_{n}") + file_name = factory.Sequence(lambda n: f"pdf_page_snapshot_{n}.jpg") + pdf_file = factory.SubFactory("pyblackbird_cc.resources.factories.PDFResourceModelFactory") + + class ResourceModelFactory(factory.django.DjangoModelFactory): class Meta: model = "resources.Resource" name = factory.Sequence(lambda n: f"Default Resource {n}") thumbnail_filenames = factory.Sequence(lambda n: [f"thumbnail_{n}.jpg"]) - resource_type = factory.SubFactory(ResourceTypeModelFactory) - main_resource_category = factory.SubFactory(ResourceCategoryModelFactory) - additional_resource_category = factory.SubFactory(ResourceCategoryModelFactory) + resource_type = factory.SubFactory( + "pyblackbird_cc.resources.factories.ResourceTypeModelFactory" + ) + main_resource_category = factory.SubFactory( + "pyblackbird_cc.resources.factories.ResourceCategoryModelFactory" + ) + additional_resource_category = factory.SubFactory( + "pyblackbird_cc.resources.factories.ResourceCategoryModelFactory" + ) description = factory.Sequence(lambda n: f"Default description {n}") age_range = factory.Iterator(["5-7", "7-10", "10+"]) curriculum = factory.Iterator(["English", "Scottish"]) + + pdfs = factory.RelatedFactoryList( + "pyblackbird_cc.resources.factories.PDFResourceModelFactory", + factory_related_name="resource", + size=3, + ) + + # TODO: Don't think we can include this this way - we are getting import issues + # pdf_snapshots = factory.RelatedFactoryList( + # "pyblackbird_cc.resources.factories.PDFPageSnapshotModelFactory", + # factory_related_name="pdfs", + # size=20, + # ) -- cgit v1.2.3