Esempio n. 1
0
 def test_merge_bids(self):
     self.client.force_login(self.superuser)
     randgen.generate_runs(self.rand, self.event, 5)
     randgen.generate_bids(self.rand, self.event, 10)
     response = self.client.get(
         reverse('admin:merge_bids'),
         {'objects': ','.join(str(b.id) for b in models.Bid.objects.all())},
     )
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Select which bid to use as the template')
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
 def test_prize_range_single(self):
     runs = randgen.generate_runs(self.rand, self.event, 4, True)
     run = runs[1]
     prize = randgen.generate_prize(
         self.rand, event=self.event, startRun=run, endRun=run)
     prizeRuns = prize.games_range()
     self.assertEqual(1, prizeRuns.count())
     self.assertEqual(run.id, prizeRuns[0].id)
Esempio n. 4
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)
 def test_prize_range_gap(self):
     runs = randgen.generate_runs(self.rand, self.event, 7, True)
     runsSlice = runs[2:5]
     prize = randgen.generate_prize(
         self.rand, event=self.event, startRun=runsSlice[0], endRun=runsSlice[-1])
     prizeRuns = prize.games_range()
     self.assertEqual(len(runsSlice), prizeRuns.count())
     for i in range(0, len(runsSlice)):
         self.assertEqual(runsSlice[i].id, prizeRuns[i].id)
Esempio n. 6
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. 7
0
 def test_prize_range_single(self):
     runs = randgen.generate_runs(self.rand, self.event, 4, True)
     run = runs[1]
     prize = randgen.generate_prize(self.rand,
                                    event=self.event,
                                    startRun=run,
                                    endRun=run)
     prizeRuns = prize.games_range()
     self.assertEqual(1, prizeRuns.count())
     self.assertEqual(run.id, prizeRuns[0].id)
 def test_prize_range_pair(self):
     runs = randgen.generate_runs(self.rand, self.event, 5, True)
     startRun = runs[2]
     endRun = runs[3]
     prize = randgen.generate_prize(
         self.rand, event=self.event, startRun=startRun, endRun=endRun)
     prizeRuns = prize.games_range()
     self.assertEqual(2, prizeRuns.count())
     self.assertEqual(startRun.id, prizeRuns[0].id)
     self.assertEqual(endRun.id, prizeRuns[1].id)
Esempio n. 9
0
 def test_prize_range_gap(self):
     runs = randgen.generate_runs(self.rand, self.event, 7, True)
     runsSlice = runs[2:5]
     prize = randgen.generate_prize(self.rand,
                                    event=self.event,
                                    startRun=runsSlice[0],
                                    endRun=runsSlice[-1])
     prizeRuns = prize.games_range()
     self.assertEqual(len(runsSlice), prizeRuns.count())
     for i in range(0, len(runsSlice)):
         self.assertEqual(runsSlice[i].id, prizeRuns[i].id)
Esempio n. 10
0
 def test_prize_range_pair(self):
     runs = randgen.generate_runs(self.rand, self.event, 5, True)
     startRun = runs[2]
     endRun = runs[3]
     prize = randgen.generate_prize(self.rand,
                                    event=self.event,
                                    startRun=startRun,
                                    endRun=endRun)
     prizeRuns = prize.games_range()
     self.assertEqual(2, prizeRuns.count())
     self.assertEqual(startRun.id, prizeRuns[0].id)
     self.assertEqual(endRun.id, prizeRuns[1].id)
Esempio n. 11
0
 def test_time_prize_no_range(self):
     runs = randgen.generate_runs(self.rand, self.event, 7, True)
     eventEnd = runs[-1].endtime
     timeA = randgen.random_time(self.rand, self.event.datetime, eventEnd)
     timeB = randgen.random_time(self.rand, self.event.datetime, eventEnd)
     randomStart = min(timeA, timeB)
     randomEnd = max(timeA, timeB)
     prize = randgen.generate_prize(
         self.rand, event=self.event, startTime=randomStart, endTime=randomEnd)
     prizeRuns = prize.games_range()
     self.assertEqual(0, prizeRuns.count())
     self.assertEqual(randomStart, prize.start_draw_time())
     self.assertEqual(randomEnd, prize.end_draw_time())
Esempio n. 12
0
 def test_time_prize_no_range(self):
     runs = randgen.generate_runs(self.rand, self.event, 7, True)
     eventEnd = runs[-1].endtime
     timeA = randgen.random_time(self.rand, self.eventStart, eventEnd)
     timeB = randgen.random_time(self.rand, self.eventStart, eventEnd)
     randomStart = min(timeA, timeB)
     randomEnd = max(timeA, timeB)
     prize = randgen.generate_prize(self.rand,
                                    event=self.event,
                                    startTime=randomStart,
                                    endTime=randomEnd)
     prizeRuns = prize.games_range()
     self.assertEqual(0, prizeRuns.count())
     self.assertEqual(randomStart, prize.start_draw_time())
     self.assertEqual(randomEnd, prize.end_draw_time())