def setUp(self): self.user_1 = BlueBottleUserFactory.create() self.user_1_token = "JWT {0}".format(self.user_1.get_jwt_token()) self.user_2 = BlueBottleUserFactory.create() self.organization_1 = OrganizationFactory.create() self.organization_2 = OrganizationFactory.create() self.organization_3 = OrganizationFactory.create() self.member_1 = OrganizationMemberFactory.create(user=self.user_1, organization=self.organization_1) self.member_2 = OrganizationMemberFactory.create(user=self.user_1, organization=self.organization_2) self.member_3 = OrganizationMemberFactory.create(user=self.user_2, organization=self.organization_3)
def setUp(self): """ Create 26 Project instances. """ self.init_projects() self.user = BlueBottleUserFactory.create() organization = OrganizationFactory.create() organization.save() self.campaign_phase = ProjectPhase.objects.get(slug='campaign') self.plan_phase = ProjectPhase.objects.get(slug='done-complete') for char in 'abcdefghijklmnopqrstuvwxyz': # Put half of the projects in the campaign phase. if ord(char) % 2 == 1: project = OnePercentProjectFactory.create(title=char * 3, slug=char * 3, status=self.campaign_phase, organization=organization) else: project = OnePercentProjectFactory.create(title=char * 3, slug=char * 3, status=self.plan_phase, organization=organization) project.save() self.projects_url = reverse('project_list')
def test_tagging_multiple_models(self): """ A smoke test to check that tagging is working how we want to use it. This is here because the Taggit tests don't all pass right now. """ # Add the same tag to the 3 models we're currently tagging. tag_name = "Tag1" user = BlueBottleUserFactory.create() user.tags.add(tag_name) user.save() organization = OrganizationFactory.create() organization.save() organization.tags.add(tag_name) project = ProjectFactory.create() project.save() project.tags.add(tag_name) # Check that we only have one tag created. self.assertEquals(1, Tag.objects.count()) # Check the tag name. tag = Tag.objects.all()[0] self.assertEquals(tag.name, tag_name) # Check that there are three objects tagged. num_tagged = len(tag.taggit_taggeditem_items.all()) self.assertEquals(3, num_tagged)
def test_campaign_project_got_funded_no_overfunding(self): """ A project gets a donation and gets funded. The project does not allow overfunding so the status changes, the campaign funded field is populated and campaign_ended field is populated """ organization = OrganizationFactory.create() project = OnePercentProjectFactory.create(title="testproject", slug="testproject", organization=organization, status=ProjectPhase.objects.get(slug="campaign"), amount_asked=100, allow_overfunding=False) self.assertTrue(project.campaign_ended is None) self.assertTrue(project.campaign_funded is None) donation = DonationFactory.create(user=self.user, project=project, amount=10000) loaded_project = Project.objects.get(pk=project.pk)
def setUp(self): super(PayoutTestCase, self).setUp() # Set up a project ready for payout organization = OrganizationFactory.create() organization.save() self.project = OnePercentProjectFactory.create(organization=organization, amount_asked=50) # Update phase to campaign. self.project.status = ProjectPhase.objects.get(slug='campaign') self.project.save() self.order = OrderFactory.create() self.donation = DonationFactory.create( project=self.project, order=self.order, amount=60 ) self.donation.save()
def test_project_expired(self): """ The deadline of a project expires but its not funded. The status changes, the campaign_ended field is populated with the deadline, the campaign_funded field is empty. """ organization = OrganizationFactory.create() project = OnePercentProjectFactory.create(title="testproject", slug="testproject", organization=organization, status=ProjectPhase.objects.get(slug="campaign"), amount_asked=100) self.assertTrue(project.campaign_ended is None) self.assertTrue(project.campaign_funded is None) project.deadline = timezone.now() - timedelta(days=10) project.save() loaded_project = Project.objects.get(pk=project.pk) self.assertEquals(loaded_project.campaign_ended, project.deadline) self.assertTrue(loaded_project.campaign_funded is None) self.assertEquals(loaded_project.status, ProjectPhase.objects.get(slug="done-incomplete"))