Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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')
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
    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()
Exemplo n.º 6
0
    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"))