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())
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 })
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')
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 })
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)
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')
def test_SponsorshipPeriod_delete(self): """ Tests SponsorshipPeriod model delete """ model = SponsorshipPeriodF.create() model.delete() # check if deleted self.assertTrue(model.pk is None)
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)
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)
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)
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)