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')
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)
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)
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') )
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)
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)
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)
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())
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())