diff --git a/djangoldp_notification/factories.py b/djangoldp_notification/factories.py new file mode 100644 index 0000000..36329c4 --- /dev/null +++ b/djangoldp_notification/factories.py @@ -0,0 +1,17 @@ +import factory +from .models import Notification +from django.contrib.auth.models import User +from django.db.models.signals import post_save + +@factory.django.mute_signals(post_save) +class NotificationFactory(factory.django.DjangoModelFactory): + class Meta: + model = Notification + + type = factory.Faker('text', max_nb_chars=50) + summary = factory.Faker('paragraph', nb_sentences=3, variable_nb_sentences=True) + author_user = factory.Iterator(User.objects.all()) + user = factory.Iterator(User.objects.all()) + date = factory.Faker('past_datetime') + read = factory.Faker('boolean') + object = factory.Faker('url') \ No newline at end of file diff --git a/djangoldp_notification/management/commands/__init__.py b/djangoldp_notification/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/djangoldp_notification/management/commands/mock_notification.py b/djangoldp_notification/management/commands/mock_notification.py new file mode 100644 index 0000000..d534a2e --- /dev/null +++ b/djangoldp_notification/management/commands/mock_notification.py @@ -0,0 +1,14 @@ +from django.core.management.base import BaseCommand, CommandError +from djangoldp_notification.factories import NotificationFactory + +class Command(BaseCommand): + help = 'Mock data' + + def add_arguments(self, parser): + parser.add_argument('--size', type=int, default=0, help='Number of notifications to create') + + def handle(self, *args, **options): + for i in range(0, options['size']): + notif = NotificationFactory.create() + + self.stdout.write(self.style.SUCCESS('Successful data mock install')) diff --git a/setup.cfg b/setup.cfg index d875afb..521bd0c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -12,6 +12,10 @@ packages = find: install_requires = djangoldp~=0.5 +[options.extras_require] +dev = + factory_boy>=2.11.0 + [semantic_release] version_source = tag version_variable = djangoldp_notification/__init__.py:__version__