Esempio n. 1
0
    def test_since_yesterday(self):
        stats = Statistics(start=timezone.now() - datetime.timedelta(days=1))

        self.assertEqual(stats.people_involved, 2)
        self.assertEqual(stats.donated_total, Money(1000, 'EUR'))
        self.assertEqual(stats.projects_online, 1)
        self.assertEqual(stats.projects_realized, 2)
        self.assertEqual(stats.tasks_realized, 1)
        self.assertEqual(stats.votes_cast, 1)
        self.assertEqual(stats.amount_matched, Money(100, 'EUR'))
Esempio n. 2
0
    def test_all(self):
        stats = Statistics()

        self.assertEqual(stats.people_involved, 2)
        self.assertEqual(stats.donated_total, Money(2000, 'EUR'))
        self.assertEqual(stats.projects_online, 2)
        self.assertEqual(stats.projects_realized, 2)
        self.assertEqual(stats.tasks_realized, 2)
        self.assertEqual(stats.votes_cast, 2)
        self.assertEqual(stats.amount_matched, Money(1300, 'EUR'))
Esempio n. 3
0
    def setUp(self):
        super(InitialStatisticsTest, self).setUp()

        self.stats = Statistics()

        # Required by Project model save method
        self.init_projects()

        self.some_user = BlueBottleUserFactory.create()

        self.some_project = ProjectFactory.create(amount_asked=5000,
                                                  owner=self.some_user)
Esempio n. 4
0
    def test_last_year(self):
        stats = Statistics(
            start=timezone.now() - datetime.timedelta(days=2 * 365),
            end=timezone.now() - datetime.timedelta(days=364),
        )

        self.assertEqual(stats.people_involved, 1)
        self.assertEqual(stats.donated_total, Money(1000, 'EUR'))
        self.assertEqual(stats.projects_online, 1)
        self.assertEqual(stats.projects_realized, 0)
        self.assertEqual(stats.tasks_realized, 1)
        self.assertEqual(stats.votes_cast, 1)
        self.assertEqual(stats.amount_matched, Money(200, 'EUR'))
Esempio n. 5
0
    def setUp(self):
        super(StatisticsTest, self).setUp()

        self.stats = Statistics()

        # Required by Project model save method
        self.init_projects()

        self.some_user = BlueBottleUserFactory.create()
        self.another_user = BlueBottleUserFactory.create()

        self.campaign_status = ProjectPhase.objects.get(slug='campaign')

        self.some_project = ProjectFactory.create(amount_asked=5000,
                                                  owner=self.some_user)
        self.task = None
        self.donation = None
        self.order = None
Esempio n. 6
0
    def setUp(self):
        super(HomepageEndpointTestCase, self).setUp()
        self.init_projects()

        self.stats = Statistics()
        """
        Create 10 Project instances for one user with half in the campaign phase
        and the other half in the done-complete phase
        This will create:
            - 10 running or realised projects
            - 10 campaigners (eg 10 new people involved)
        """
        self.user1 = BlueBottleUserFactory.create()
        self.campaign_phase = ProjectPhase.objects.get(slug='campaign',
                                                       viewable=True)
        self.plan_phase = ProjectPhase.objects.get(slug='done-complete')
        self.en = Language.objects.get(code='en')
        projects = []

        for char in 'abcdefghij':
            # Put half of the projects in the campaign phase.
            if ord(char) % 2 == 1:
                project = ProjectFactory.create(title=char * 3,
                                                slug=char * 3,
                                                status=self.campaign_phase,
                                                language=self.en,
                                                is_campaign=True)
            else:
                project = ProjectFactory.create(title=char * 3,
                                                slug=char * 3,
                                                status=self.plan_phase,
                                                language=self.en)

            projects.append(project)
        """
        Create 10 TaskMember instances for one project.
        This will create:
            - 1 realised task
            - 1 task owner (eg 1 new person involved)
            - 10 task members (eg 10 new people involved)
        """
        self.task = TaskFactory.create(project=projects[0],
                                       status=Task.TaskStatuses.realized)
        for char in 'abcdefghij':
            TaskMemberFactory.create(task=self.task, status='realized')
        """
        Create 10 Donations with half to fundraisers
        This will create:
            - 10 donations of 1000 (total amount of 10000)
            - 10 donators (eg 10 new people involved)
            - 5 fundraisers (eg 5 new people involved)
        """
        for char in 'abcdefghij':
            if ord(char) % 2 == 1:
                self.order = OrderFactory.create(
                    status=StatusDefinition.SUCCESS)
                self.donation = DonationFactory.create(amount=1000,
                                                       order=self.order,
                                                       fundraiser=None)
            else:
                self.order = OrderFactory.create(
                    status=StatusDefinition.SUCCESS)
                self.donation = DonationFactory.create(amount=1000,
                                                       order=self.order)

        StatisticFactory.create(type='donated_total',
                                title='Donated',
                                language='en')
        StatisticFactory.create(type='projects_online',
                                title='Projects online',
                                language='en')
        StatisticFactory.create(type='projects_realized',
                                title='Projects realised',
                                language='en')
        StatisticFactory.create(type='tasks_realized',
                                title='Tasks realised',
                                language='en')
        StatisticFactory.create(type='people_involved',
                                title='Peeps',
                                language='en')
        StatisticFactory.create(type='manual',
                                title='Rating',
                                value='9.3',
                                language='en')