diff --git a/ontology/factories.py b/ontology/factories.py new file mode 100644 index 0000000000000000000000000000000000000000..7b68412e0c9e050a0101e24ba3f0df0a263d1258 --- /dev/null +++ b/ontology/factories.py @@ -0,0 +1,38 @@ +__copyright__ = "Copyright © Stichting SciPost (SciPost Foundation)" +__license__ = "AGPL v3" + + +import factory + +from django.utils.text import slugify + +from .models import Branch, AcademicField, Specialty + + +class BranchFactory(factory.django.DjangoModelFactory): + name = factory.LazyAttribute(lambda b: 'Branch %d' % b.order) + slug = factory.LazyAttribute(lambda b: slugify('branch-%d' % b.order)) + order = factory.Sequence(lambda n: n) + + class Meta: + model = Branch + + +class AcademicFieldFactory(factory.django.DjangoModelFactory): + branch = factory.SubFactory(BranchFactory) + name = factory.LazyAttribute(lambda b: 'Field %d' % b.order) + slug = factory.LazyAttribute(lambda b: slugify('field-%d' % b.order)) + order = factory.Sequence(lambda n: n) + + class Meta: + model = AcademicField + + +class SpecialtyFactory(factory.django.DjangoModelFactory): + acad_field = factory.SubFactory(AcademicField) + name = factory.LazyAttribute(lambda b: 'Specialty %d' % b.order) + slug = factory.LazyAttribute(lambda b: slugify('specialty-%d' % b.order)) + order = factory.Sequence(lambda n: n) + + class Meta: + model = Specialty