def build_world(self):
     TicketManager.create_default_ticket_amounts()
     self.create_site_sports()
     self.create_sport_and_rosters()
     self.create_simple_player_stats_list()
     self.create_pool_and_draftgroup()
     self.create_contest()
Exemple #2
0
    def handle(self, *args, **options):
        """
        generate a test game with questions

        :param args:
        :param options:
        :return:
        """

        values = []
        for x in options['values']:
            values.append(x)

        max_entries = float(values[0])
        # ticket_amount   = float(values[1])
        # num_payouts     = int(values[2])
        # entries         = int(values[3])
        # try:
        #     name = ' '.join( values[4:] )
        # except:
        #     name = ''
        #
        # self.stdout.write('%s %s %s name[%s]' % (str(buyin),
        #                         str(ticket_amount), str(num_payouts), str(name)))

        # creator = TicketPrizeStructureCreator(buyin, ticket_amount, num_payouts, entries, name=name)
        # creator.save()

        # print out possible prize structures for Flat Ticket Prize structures
        TicketManager.create_default_ticket_amounts()
        FlatTicketPrizeStructureCreator.print_all(max_entries)
Exemple #3
0
 def build_world(self):
     TicketManager.create_default_ticket_amounts()
     self.world = BuildWorldForTesting()
     self.world.build_world()
     self.world.contest.entries = 3
     self.contest = self.world.contest
     draftgroup = self.world.draftgroup
     self.contest_pool, created = ContestPoolCreator(
         'nfl', self.contest.prize_structure, draftgroup.start,
         (draftgroup.end - draftgroup.start).seconds * 60,
         draftgroup).get_or_create()
Exemple #4
0
    def setUp(self):
        super().setUp()
        # creates very standard ticket amounts like 1,2,5, 10, 20, 50
        TicketManager.create_default_ticket_amounts(verbose=False)

        self.first = 34.0
        self.second = 10.0
        self.third = 10.0
        #
        # create a simple Rank and Prize Structure
        cps = CashPrizeStructureCreator(name='test1')
        cps.add(1, self.first)
        cps.add(2, self.second)
        cps.add(3, self.third)
        cps.set_buyin(10)
        cps.save()
        self.prize_structure = cps.prize_structure
        self.prize_structure.generator.prize_pool = 54.0  # minus rake
        self.prize_structure.save()
        self.ranks = cps.ranks

        self.world = BuildWorldForTesting()
        self.world.build_world()
        self.draftgroup = self.world.draftgroup

        self.contest = self.world.contest
        self.contest.status = Contest.SCHEDULED
        self.contest.prize_structure = self.prize_structure
        self.contest.draft_group = self.draftgroup
        self.contest.entries = 6
        self.contest.save()

        self.contest_pool, created = ContestPoolCreator(
            'nfl', self.prize_structure, self.draftgroup.start,
            (self.draftgroup.end - self.draftgroup.start).seconds * 60,
            self.draftgroup).get_or_create()
        self.contest_pool.entries = 6
        self.contest_pool.save()
        self.scorer_class = TestSalaryScoreSystem
 def create(sport='nfl'):
     TicketManager.create_default_ticket_amounts()
     ticket_amount = TicketAmount.objects.all()[0]
     # ticket_amount.amount
     ticket_prize_creator = TicketPrizeStructureCreator(
         ticket_value=5.00,
         number_of_prizes=1,
         name='contest-dummy-prize-structure')
     prize_structure = ticket_prize_creator.save()
     # prize_structure.name
     now = timezone.now()
     start = DfsDateTimeUtil.create(now.date(), time(23, 0))
     end = DfsDateTimeUtil.create(now.date() + timedelta(days=1),
                                  time(0, 0))
     creator = ContestCreator(name=Dummy.DEFAULT_NAME,
                              sport=sport,
                              prize_structure=prize_structure,
                              start=start,
                              end=end)
     contest = creator.create()
     logger.info('created new dummy contest with pk: %s' % contest.pk)
     return contest
    def setUp(self):
        super().setUp()
        # ensure the default ticket
        TicketManager.create_default_ticket_amounts(verbose=False)
        # add funds to user
        self.user = self.get_basic_user()
        ct = CashTransaction(self.user)
        ct.deposit(100)

        # salary_generator = Dummy.generate_salaries()
        # self.salary_pool = salary_generator.pool
        # start
        #
        #
        self.verbose = True  # set to False to disable print statements

        #
        # The sport we are going to build fake stats for.
        # Lets use nfl, but it doesnt matter what sport we use
        self.sport = 'nfl'

        #
        # Ensure there are Games by using the Dummy to generate fake stats.
        # The ScheduleManager requires that Game objects exist
        # because when it creates scheduled Contest objects
        # it is required to create a draft group.
        self.dummy = Dummy(sport=self.sport)
        self.generator = self.dummy.generate()
        self.salary_pool = self.generator.pool
        self.site_sport = self.dummy.site_sport  # stash the site_sport for easy use

        self.site_sport_manager = SiteSportManager()
        self.game_model = self.site_sport_manager.get_game_class(
            self.site_sport)  # ie: sports.nfl.models.Game
        self.games = self.game_model.objects.all()  # there should be handful now, for today
        if self.games.count() <= 0:
            raise Exception(
                'buyin.tests.BuyinTest - we meant to create games.... but none were created!')
        # end

        # create a simple prize pool
        self.first = 100.0
        self.second = 50.0
        self.third = 25.0
        self.buyin = 10
        cps = CashPrizeStructureCreator(name='test')
        cps.add(1, self.first)
        cps.add(2, self.second)
        cps.add(3, self.third)
        cps.set_buyin(self.buyin)
        cps.save()
        cps.prize_structure.save()

        self.prize_structure = cps.prize_structure
        self.ranks = cps.ranks

        #
        # create the Contest
        # now = timezone.now()
        # start = DfsDateTimeUtil.create(now.date(), time(23,0))
        # end = DfsDateTimeUtil.create(now.date() + timedelta(days=1), time(0,0))
        start = self.games[0].start + timedelta(minutes=5)
        end = self.games[self.games.count() - 1].start  # set 'end' to start of last game
        cc = ContestCreator("test_contest", self.sport, self.prize_structure, start, end)
        self.draft_group2 = DraftGroup()
        self.draft_group2.salary_pool = self.salary_pool
        self.draft_group2.start = start
        self.draft_group2.end = end
        self.draft_group2.save()

        self.contest_pool, created = ContestPoolCreator(
            self.sport,
            self.prize_structure,
            start,
            (end - start).seconds * 60,
            self.draft_group2
        ).get_or_create()
        self.contest = cc.create()
        self.contest.status = Contest.RESERVABLE
        self.contest.save()

        self.draft_group = DraftGroup()
        self.draft_group.salary_pool = self.salary_pool
        self.draft_group.start = start
        self.draft_group.end = end
        self.draft_group.save()