From d94c0eccb6371e83ef48c71eece75a2350b95d65 Mon Sep 17 00:00:00 2001 From: George Katsikas <giorgakis.katsikas@gmail.com> Date: Wed, 20 Mar 2024 12:16:29 +0100 Subject: [PATCH] add scaffold factories for all pins models --- scipost_django/pins/factories.py | 42 +++++++++++++++++++++ scipost_django/pins/tests.py | 6 --- scipost_django/pins/tests/__init__.py | 0 scipost_django/pins/tests/test_factories.py | 17 +++++++++ 4 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 scipost_django/pins/factories.py delete mode 100644 scipost_django/pins/tests.py create mode 100644 scipost_django/pins/tests/__init__.py create mode 100644 scipost_django/pins/tests/test_factories.py diff --git a/scipost_django/pins/factories.py b/scipost_django/pins/factories.py new file mode 100644 index 000000000..bf88435f3 --- /dev/null +++ b/scipost_django/pins/factories.py @@ -0,0 +1,42 @@ +__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" +__license__ = "AGPL v3" + +from django.contrib.contenttypes.models import ContentType +import factory + +from finances.models.subsidy import Subsidy +from .models import * +from common.faker import LazyRandEnum, fake, LazyAwareDate + + +class BaseNoteFactory(factory.django.DjangoModelFactory): + class Meta: + model = Note + + class Params: + regarding_object = factory.Trait( + regarding_content_type=factory.SelfAttribute("content_type"), + regarding_object_id=factory.SelfAttribute("object_id"), + ) + + title = factory.Faker("sentence", nb_words=4) + description = factory.Faker("text") + visibility = LazyRandEnum(Note.VISIBILITY_CHOICES) + author = factory.SubFactory("scipost.factories.ContributorFactory") + created = factory.Faker("date_time_this_year") + modified = factory.LazyAttribute( + lambda self: fake.aware.date_between(start_date=self.created, end_date="+1y") + ) + + +class BasePinFactory(factory.django.DjangoModelFactory): + class Meta: + model = Pin + + note = factory.SubFactory(BaseNoteFactory) + user = factory.SubFactory("scipost.factories.UserFactory") + due_date = factory.LazyAttribute( + lambda self: fake.aware.date_between( + start_date=self.note.created, end_date="+1y" + ) + ) diff --git a/scipost_django/pins/tests.py b/scipost_django/pins/tests.py deleted file mode 100644 index 7503e9a3c..000000000 --- a/scipost_django/pins/tests.py +++ /dev/null @@ -1,6 +0,0 @@ -__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" -__license__ = "AGPL v3" - -from django.test import TestCase - -# Create your tests here. diff --git a/scipost_django/pins/tests/__init__.py b/scipost_django/pins/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/scipost_django/pins/tests/test_factories.py b/scipost_django/pins/tests/test_factories.py new file mode 100644 index 000000000..a331f98d2 --- /dev/null +++ b/scipost_django/pins/tests/test_factories.py @@ -0,0 +1,17 @@ +__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" +__license__ = "AGPL v3" + +from django.test import TestCase +from ..factories import * + + +# class TestSubsidyNoteFactory(TestCase): +# def test_can_create_subsidy_notes(self): +# subsidy_note = SubsidyNoteFactory() +# self.assertIsNotNone(subsidy_note) + + +# class TestPinFactory(TestCase): +# def test_can_create_pins(self): +# pin = PinFactory() +# self.assertIsNotNone(pin) -- GitLab