Beispiel #1
0
    def test_person_featured_param(self):
        """
        The is_featured kwarg should set featured to True
        """

        person = PersonFactory.create(is_featured=True)

        self.assertEqual(person.featured, True)
Beispiel #2
0
    def test_person_return_value(self):
        """
        PersonFactory should return an instance of Person
        """

        person = PersonFactory.create()

        self.assertIsInstance(person, Person)
Beispiel #3
0
    def test_person_expired_param(self):
        """
        The expired kwarg should set the expires date to sometime in the
        past
        """

        person = PersonFactory.create(expired=True)

        self.assertLess(person.expires, datetime.now(tz=timezone.utc))
Beispiel #4
0
    def test_person_has_expiry_param(self):
        """
        The has_expiry kwarg should set the expires date to sometime in the
        future
        """

        person = PersonFactory.create(has_expiry=True)

        self.assertGreater(person.expires, datetime.now(tz=timezone.utc))
Beispiel #5
0
    def test_person_unpublished_param(self):
        """
        The unpublished kwarg should set the publish_after date to sometime
        in the future
        """

        person = PersonFactory.create(unpublished=True)

        self.assertGreater(person.publish_after, datetime.now(tz=timezone.utc))
Beispiel #6
0
    def test_person_view(self):
        """
        Make sure single person view returns a 200 status code
        """

        pk = PersonFactory.create().id

        request = self.factory.get('/api/person/{}'.format(pk))
        response = PersonView.as_view()(request, pk=pk)

        self.assertEqual(response.status_code, 200)
Beispiel #7
0
    def handle(self, *args, **options):

        if options['delete']:
            call_command('flush_models')

        # Seed Faker with the provided seed value or a pseudorandom int between 0 and five million
        if options['seed']:
            seed = options['seed']
        else:
            seed = randint(0, 5000000)

        self.stdout.write('Seeding Faker with: {}'.format(seed))
        faker = factory.faker.Faker._get_faker(locale='en-US')
        faker.random.seed(seed)

        self.stdout.write('Generating LandingPage objects')
        opportunity = LandingPageFactory.create(
            title='Opportunity', content='A placeholder, this is.')
        [LandingPageFactory.create(parent=opportunity) for i in range(5)]

        self.stdout.write('Generating LandingPage objects with Signup CTAs')
        [
            LandingPageFactory.create(parent=opportunity,
                                      signup=SignupFactory.create())
            for i in range(5)
        ]

        self.stdout.write('Generating CampaignPage objects')
        campaigns = LandingPageFactory.create(title='Campaigns',
                                              content='Placeholder page')
        [CampaignFactory.create(parent=campaigns) for i in range(3)]

        self.stdout.write('Generating Homepage')
        homepage = HomepageFactory.create()

        self.stdout.write(
            'Generating HomepageNews, HomepageHighlights, and HomepageLeaders objects'
        )
        [HomepageNewsFactory.create(homepage=homepage) for i in range(4)]
        [HomepageHighlightsFactory.create(homepage=homepage) for i in range(4)]
        [HomepageLeadersFactory.create(homepage=homepage) for i in range(4)]

        self.stdout.write('Generating Highlight objects')
        [HighlightFactory.create() for i in range(10)]

        self.stdout.write('Generating Milestone objects')
        [MilestoneFactory.create() for i in range(10)]

        self.stdout.write('Generating News objects')
        [NewsFactory.create() for i in range(10)]

        self.stdout.write('Generating five InternetHealthIssue objects')
        issue_objects = []
        for issue in internet_health_issues:
            issue_objects.append(InternetHealthIssueFactory(name=issue))

        self.stdout.write('Generating Person and Affiliation objects')
        for i in range(10):
            person = PersonFactory.create(internet_health_issues=issue_objects)

            for j in range(3):
                AffiliationFactory.create(person=person)

        self.stdout.write(
            'Generating unpublished, expired, and expiring highlights')
        [HighlightFactory.create(unpublished=True) for i in range(4)]
        [HighlightFactory.create(expired=True) for i in range(4)]
        [HighlightFactory.create(has_expiry=True) for i in range(4)]

        self.stdout.write('Generating unpublished, expired, and expiring News')
        [NewsFactory.create(unpublished=True) for i in range(4)]
        [NewsFactory.create(expired=True) for i in range(4)]
        [NewsFactory.create(has_expiry=True) for i in range(4)]
        [NewsFactory.create(is_video=True) for i in range(4)]

        self.stdout.write(
            'Generating featured, unpublished, expired, and expiring People')
        [PersonFactory.create(is_featured=True) for i in range(4)]
        [PersonFactory.create(unpublished=True) for i in range(4)]
        [PersonFactory.create(has_expiry=True) for i in range(4)]
        [PersonFactory.create(expired=True) for i in range(4)]

        self.stdout.write(self.style.SUCCESS('Done!'))
Beispiel #8
0
    def setUp(self):
        self.factory = APIRequestFactory()

        # Create multiple people
        [PersonFactory.create() for i in range(4)]
Beispiel #9
0
    def test_person_creation(self):
        """
        PersonFactory should not raise and exception when generating a model instance
        """

        PersonFactory.create()