Пример #1
0
    def setUp(self):
        """
        Setup before each test

        We force the locale to en otherwise it will use
        the locale of the host running the tests and we
        will get unpredictable results / 404s
        """

        self.client = Client()
        self.client.post('/set_language/', data={'language': 'en'})
        logging.disable(logging.CRITICAL)
        self.user = UserF.create(**{
            'username': '******',
            'password': '******',
            'is_staff': True
        })
        self.user.set_password('password')
        self.user.save()
        self.project = ProjectF.create(name='testproject')

        self.sponsorship_level = SponsorshipLevelF.create(project=self.project,
                                                          name='Gold')

        # Current sponsor
        self.current_sponsor = SponsorF.create(project=self.project,
                                               name='Current Sponsor')
        self.current_sponsorship_period = SponsorshipPeriodF.create(
            sponsor=self.current_sponsor,
            sponsorship_level=self.sponsorship_level,
            project=self.project,
            approved=True,
            start_date=datetime.datetime.now() - datetime.timedelta(days=180),
            end_date=(datetime.datetime.now() +
                      datetime.timedelta(days=365)).date(),
        )

        # Past sponsor under a certain time limit, in this case 1 year
        self.past_sponsor = SponsorF.create(project=self.project,
                                            name='Past Sponsor')
        self.past_sponsorship_period = SponsorshipPeriodF.create(
            sponsor=self.past_sponsor,
            sponsorship_level=self.sponsorship_level,
            project=self.project,
            approved=True,
            start_date=datetime.datetime.now() - datetime.timedelta(days=180),
            end_date=(datetime.datetime.now() -
                      datetime.timedelta(days=30)).date())

        # It's a very old sponsor that will not be shown
        self.one_decade_ago_sponsor = SponsorF.create(
            project=self.project, name='One Decade Ago Sponsor')
        self.one_decade_ago_sponsorship_period = SponsorshipPeriodF.create(
            sponsor=self.one_decade_ago_sponsor,
            sponsorship_level=self.sponsorship_level,
            project=self.project,
            approved=True,
            start_date=datetime.datetime.now() - datetime.timedelta(days=4000),
            end_date=(datetime.datetime.now() -
                      datetime.timedelta(days=3650)).date())
 def test_SustainingMember_inactive(self):
     """
     Test if user is an inactive sustaining member
     """
     self.sustaining_member.sustaining_membership = True
     SponsorshipPeriodF.create(
         sponsor=self.sustaining_member,
         project=self.project,
         start_date=datetime(2014, 1, 1),
     )
     self.sustaining_member.active = False
     self.sustaining_member.save()
     self.assertFalse(
         active_sustaining_membership(self.user, self.project).exists())
Пример #3
0
    def setUp(self):
        """
        Setup before each test

        We force the locale to en otherwise it will use
        the locale of the host running the tests and we
        will get unpredictable results / 404s
        """

        self.client = Client()
        self.client.post('/set_language/', data={'language': 'en'})
        logging.disable(logging.CRITICAL)
        self.project = ProjectF.create(name='testproject')
        self.sponsor = SponsorF.create(project=self.project, name='Kartoza')
        self.sponsorship_level = SponsorshipLevelF.create(project=self.project,
                                                          name='Gold')
        self.sponsorship_period = SponsorshipPeriodF.create(
            sponsor=self.sponsor,
            sponsorship_level=self.sponsorship_level,
            approved=True)
        self.user = UserF.create(**{
            'username': '******',
            'password': '******',
            'is_staff': True
        })
Пример #4
0
    def test_SponsorshipPeriod_read(self):
        """
        Tests Sponsorship Period model read
        """
        model = SponsorshipPeriodF.create(start_date=u'2016-01-01')

        self.assertTrue(model.start_date == '2016-01-01')
Пример #5
0
    def setUp(self):
        """
        Setup before each test

        We force the locale to en otherwise it will use
        the locale of the host running the tests and we
        will get unpredictable results / 404s
        """

        self.client = Client()
        self.client.post(
                '/set_language/', data={'language': 'en'})
        logging.disable(logging.CRITICAL)
        self.project = ProjectF.create(
                name='testproject')
        self.sponsor = SponsorF.create(
                project=self.project,
                name='Kartoza')
        self.sponsorship_level = SponsorshipLevelF.create(
                project=self.project,
                name='Gold')
        self.sponsorship_period = SponsorshipPeriodF.create(
            sponsor=self.sponsor,
            sponsorship_level=self.sponsorship_level,
            approved=True)
        self.user = UserF.create(**{
            'username': '******',
            'password': '******',
            'is_staff': True
        })
Пример #6
0
    def test_Version_Sponsors(self):
        """
        Tests version sponsors
        """
        project = ProjectF.create()

        sponsorship_period = SponsorshipPeriodF.create()
        data = {
            'start_date': u'2016-01-01',
            'end_date': u'2016-02-01',
            'approved': True,
            'private': False,
            'project_id': project.pk,
        }
        sponsorship_period.__dict__.update(data)
        sponsorship_period.save()

        version_model = VersionF.create()
        data = {
            '10002001': u'10002001',
            'description': u'New description',
            'approved': True,
            'release_date': u'2016-01-10',
            'project_id': project.pk,
        }
        version_model.__dict__.update(data)
        version_model.save()

        version_model.refresh_from_db()
        sponsors = version_model.sponsors()
        self.assertEqual(sponsors.count(), 1)
Пример #7
0
    def test_Version_Sponsors(self):
        """
        Tests version sponsors
        """
        project = ProjectF.create()

        sponsorship_period = SponsorshipPeriodF.create()
        data = {
            'start_date': u'2016-01-01',
            'end_date': u'2016-02-01',
            'approved': True,
            'private': False,
            'project_id': project.pk,
        }
        sponsorship_period.__dict__.update(data)
        sponsorship_period.save()

        version_model = VersionF.create()
        data = {
            '10002001': u'10002001',
            'description': u'New description',
            'approved': True,
            'release_date': u'2016-01-10',
            'project_id': project.pk,
        }
        version_model.__dict__.update(data)
        version_model.save()

        version_model.refresh_from_db()
        sponsors = version_model.sponsors()
        self.assertEqual(sponsors.count(), 1)
Пример #8
0
    def test_SponsorshipPeriod_read(self):
        """
        Tests Sponsorship Period model read
        """
        model = SponsorshipPeriodF.create(
            start_date=u'2016-01-01'
        )

        self.assertTrue(model.start_date == '2016-01-01')
Пример #9
0
    def test_SponsorshipPeriod_delete(self):
        """
        Tests SponsorshipPeriod model delete
        """
        model = SponsorshipPeriodF.create()

        model.delete()

        # check if deleted
        self.assertTrue(model.pk is None)
Пример #10
0
    def test_SponsorshipPeriod_delete(self):
        """
        Tests SponsorshipPeriod model delete
        """
        model = SponsorshipPeriodF.create()

        model.delete()

        # check if deleted
        self.assertTrue(model.pk is None)
Пример #11
0
    def test_SponsorshipPeriod_create(self):
        """
        Tests Sponsorship Period model creation
        """
        model = SponsorshipPeriodF.create()

        # check if PK exists
        self.assertTrue(model.pk is not None)

        # check if name exists
        self.assertTrue(model.start_date is not None)
Пример #12
0
    def test_SponsorshipPeriod_create(self):
        """
        Tests Sponsorship Period model creation
        """
        model = SponsorshipPeriodF.create()

        # check if PK exists
        self.assertTrue(model.pk is not None)

        # check if name exists
        self.assertTrue(model.start_date is not None)
Пример #13
0
    def test_sponsors(self):
        """
        Tests version sponsors
        """
        project = ProjectF.create()
        data = {
            'name': u'New Project Name',
            'description': u'New description',
            'approved': True,
            'private': False,
            'slug': u'new-project-slug'
        }
        project.__dict__.update(data)
        project.save()

        version_model = VersionF.create()
        data = {
            '10002001': u'10002001',
            'description': u'New description',
            'approved': True,
            'release_date': u'2016-01-10',
            'project': project
        }
        version_model.__dict__.update(data)
        version_model.save()

        sponsor = SponsorF.create()
        data = {
            'name': u'Foo Sponsor',
            'project': project
        }
        sponsor.__dict__.update(data)
        sponsor.save()

        sponsorship_period = SponsorshipPeriodF.create()
        data = {
            'start_date': u'2016-01-01',
            'end_date': u'2016-02-01',
            'approved': True,
            'private': False,
            'project': project,
            'sponsor': sponsor
        }
        sponsorship_period.__dict__.update(data)
        sponsorship_period.save()

        sponsors = version_model.sponsors()
        self.assertEqual(sponsors.count(), 1)
Пример #14
0
    def test_SponsorshipPeriod_update(self):
        """
        Tests Sponsorship Period model update
        """
        model = SponsorshipPeriodF.create()
        new_model_data = {
            'start_date': u'2016-01-01',
            'approved': False,
            'private': True,
        }
        model.__dict__.update(new_model_data)
        model.save()

        # check if updated
        for key, val in new_model_data.items():
            self.assertEqual(model.__dict__.get(key), val)
Пример #15
0
    def test_SponsorshipPeriod_update(self):
        """
        Tests Sponsorship Period model update
        """
        model = SponsorshipPeriodF.create()
        new_model_data = {
            'start_date': u'2016-01-01',
            'approved': False,
            'private': True,
        }
        model.__dict__.update(new_model_data)
        model.save()

        # check if updated
        for key, val in new_model_data.items():
            self.assertEqual(model.__dict__.get(key), val)
Пример #16
0
    def test_sponsors(self):
        """
        Tests version sponsors
        """
        project = ProjectF.create()
        data = {
            'name': u'New Project Name',
            'description': u'New description',
            'approved': True,
            'private': False,
            'slug': u'new-project-slug'
        }
        project.__dict__.update(data)
        project.save()

        version_model = VersionF.create()
        data = {
            '10002001': u'10002001',
            'description': u'New description',
            'approved': True,
            'release_date': u'2016-01-10',
            'project': project
        }
        version_model.__dict__.update(data)
        version_model.save()

        sponsor = SponsorF.create()
        data = {'name': u'Foo Sponsor', 'project': project}
        sponsor.__dict__.update(data)
        sponsor.save()

        sponsorship_period = SponsorshipPeriodF.create()
        data = {
            'start_date': u'2016-01-01',
            'end_date': u'2016-02-01',
            'approved': True,
            'private': False,
            'project': project,
            'sponsor': sponsor
        }
        sponsorship_period.__dict__.update(data)
        sponsorship_period.save()

        sponsors = version_model.sponsors()
        self.assertEqual(sponsors.count(), 1)