Esempio n. 1
0
 def setUp(self):
     self.rand = random.Random(None)
     self.locked_event = randgen.generate_event(self.rand, start_time=long_ago_noon)
     self.event = randgen.generate_event(self.rand, start_time=today_noon)
     self.event.save()
     self.runs = randgen.generate_runs(self.rand, self.event, 20, scheduled=True)
     opened_bids = randgen.generate_bids(self.rand, self.event, 15, state='OPENED')
     self.opened_bids = opened_bids[0] + opened_bids[1]
     closed_bids = randgen.generate_bids(self.rand, self.event, 5, state='CLOSED')
     self.closed_bids = closed_bids[0] + closed_bids[1]
     hidden_bids = randgen.generate_bids(self.rand, self.event, 5, state='HIDDEN')
     self.hidden_bids = hidden_bids[0] + hidden_bids[1]
     pending_bids = randgen.generate_bids(self.rand, self.event, 5, state='PENDING')
     self.pending_bids = pending_bids[0] + pending_bids[1]
     self.accepted_prizes = randgen.generate_prizes(self.rand, self.event, 5)
     self.pending_prizes = randgen.generate_prizes(
         self.rand, self.event, 5, state='PENDING'
     )
     self.donations = randgen.generate_donations(
         self.rand,
         self.event,
         200,
         bid_targets_list=[b for b in self.opened_bids if b.istarget],
     )
     models.Donation.objects.filter(
         pk__in=(d.id for d in self.donations[:40])
     ).update(readstate='PENDING')
     models.Donation.objects.filter(
         pk__in=(d.id for d in self.donations[40:80])
     ).update(commentstate='PENDING')
     models.Donation.objects.filter(
         pk__in=(d.id for d in self.donations[80:120])
     ).update(readstate='READY')
     self.pending_donations = randgen.generate_donations(
         self.rand, self.event, 50, domain='PAYPAL', transactionstate='PENDING'
     )
     self.prizes = randgen.generate_prizes(self.rand, self.event, 30)
     self.hidden_user = User.objects.create(username='******')
     self.hidden_user.user_permissions.add(
         Permission.objects.get(name='Can view hidden bids')
     )
     self.prize_user = User.objects.create(username='******')
     self.prize_user.user_permissions.add(
         Permission.objects.get(name='Can change prize')
     )
     self.locked_user = User.objects.create(username='******')
     self.locked_user.user_permissions.add(
         Permission.objects.get(name='Can edit locked events')
     )
     self.donation_user = User.objects.create(username='******')
     self.donation_user.user_permissions.add(
         Permission.objects.get(name='Can view pending donations')
     )
     self.donation_user.user_permissions.add(
         Permission.objects.get(name='Can view all comments')
     )
Esempio n. 2
0
 def setUp(self):
   self.eventStart = parse_date("2014-01-01 16:00:00").replace(tzinfo=pytz.utc)
   self.rand = random.Random(None)
   self.event = randgen.generate_event(self.rand, self.eventStart)
   self.event.save()
   self.runs, self.eventEnd = randgen.generate_runs(self.rand, self.event, 50, self.eventStart)
   return
Esempio n. 3
0
 def setUp(self):
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand)
     self.event.save()
     self.eventStart = datetime.datetime.combine(
         self.event.date, datetime.time(hour=12)).replace(tzinfo=pytz.utc)
     return
 def setUp(self):
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand)
     self.event.save()
     self.eventStart = datetime.datetime.combine(
         self.event.date, datetime.time(hour=12)).replace(tzinfo=pytz.utc)
     return
Esempio n. 5
0
 def setUp(self):
     self.super_user = User.objects.create_superuser(
         'admin', '*****@*****.**', 'password')
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand)
     self.event.save()
     self.prize = randgen.generate_prize(self.rand, event=self.event)
     self.prize.save()
     self.donor = randgen.generate_donor(self.rand)
     self.donor.save()
     self.prize_winner = models.PrizeWinner.objects.create(
         winner=self.donor, prize=self.prize)
     self.donor_prize_entry = models.DonorPrizeEntry.objects.create(
         donor=self.donor, prize=self.prize)
 def setUp(self):
     self.super_user = User.objects.create_superuser(
         'admin', '*****@*****.**', 'password')
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand)
     self.event.save()
     self.prize = randgen.generate_prize(self.rand, event=self.event)
     self.prize.save()
     self.donor = randgen.generate_donor(self.rand)
     self.donor.save()
     self.prize_winner = models.PrizeWinner.objects.create(
         winner=self.donor, prize=self.prize)
     self.donor_prize_entry = models.DonorPrizeEntry.objects.create(
         donor=self.donor, prize=self.prize)
Esempio n. 7
0
    def test_search_with_offset_and_limit(self):
        event = randgen.generate_event(self.rand, today_noon)
        event.save()
        randgen.generate_runs(self.rand, event, 5)
        randgen.generate_donations(self.rand, event, 50, transactionstate='COMPLETED')
        request = self.factory.get(
            '/api/v1/search', dict(type='donation', offset=10, limit=10),
        )
        request.user = self.anonymous_user
        data = self.parseJSON(tracker.views.api.search(request))
        donations = models.Donation.objects.all()
        self.assertEqual(len(data), 10)
        self.assertListEqual([d['pk'] for d in data], [d.id for d in donations[10:20]])

        request = self.factory.get('/api/v1/search', dict(type='donation', limit=30),)
        request.user = self.anonymous_user
        # bad request if limit is set above server config
        self.parseJSON(tracker.views.api.search(request), status_code=400)
Esempio n. 8
0
 def test_event_annotations(self):
     models.Donation.objects.create(event=self.event, amount=10, domainId='123456')
     models.Donation.objects.create(
         event=self.event, amount=5, domainId='123457', transactionstate='COMPLETED'
     )
     # there was a bug where events with only pending donations wouldn't come back in the search
     models.Donation.objects.create(
         event=self.locked_event, amount=10, domainId='123458'
     )
     # make sure empty events show up too
     extra_event = randgen.generate_event(self.rand, today_noon)
     extra_event.save()
     request = self.factory.get('/api/v1/search', dict(type='event'))
     request.user = self.add_user
     data = self.parseJSON(tracker.views.api.search(request))
     self.assertEqual(len(data), 3)
     self.assertModelPresent(
         {
             'pk': self.event.id,
             'model': 'tracker.event',
             'fields': {'amount': 5.0, 'count': 1, 'max': 5.0, 'avg': 5.0},
         },
         data,
         partial=True,
     )
     self.assertModelPresent(
         {
             'pk': self.locked_event.id,
             'model': 'tracker.event',
             'fields': {'amount': 0.0, 'count': 0, 'max': 0.0, 'avg': 0.0},
         },
         data,
         partial=True,
     )
     self.assertModelPresent(
         {
             'pk': extra_event.id,
             'model': 'tracker.event',
             'fields': {'amount': 0.0, 'count': 0, 'max': 0.0, 'avg': 0.0},
         },
         data,
         partial=True,
     )
Esempio n. 9
0
 def setUp(self):
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand)
     self.event.save()
Esempio n. 10
0
 def setUp(self):
   self.rand = random.Random(None)
   self.event = randgen.generate_event(self.rand)
   self.event.save()
Esempio n. 11
0
 def setUp(self):
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand, startTime=today_noon)
     self.event.save()
Esempio n. 12
0
 def setUp(self):
     self.rand = random.Random(None)
     self.event = randgen.generate_event(self.rand, startTime=today_noon)
     self.event.save()