示例#1
0
def test_drop_player_must_still_be_on_roster_already_dropped():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))

    roster1.positions["1"].player = player2

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id,
                  player=player1,
                  drop_player=player2,
                  amount=25))
    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id,
                  player=player3,
                  drop_player=player2,
                  amount=15))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1])

    assert roster1.waiver_bids[
        1].result == WaiverBidResult.FailedDropPlayerNotOnRoster
示例#2
0
def test_tie_goes_to_highest_priority_two_ties():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))
    roster2 = Roster(id="2",
                     name="team 2",
                     rank=2,
                     positions=deepcopy(league_positions))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player1, amount=5))
    roster2.waiver_bids.append(
        WaiverBid(roster_id=roster2.id, player=player1, amount=5))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player2, amount=5))
    roster2.waiver_bids.append(
        WaiverBid(roster_id=roster2.id, player=player2, amount=5))

    target = WaiverService(get_roster_player_service())
    target.process_bids([roster1, roster2])

    assert roster1.waiver_bids[
        0].result == WaiverBidResult.FailedLowerPriority, "Assert 1 failed"
    assert roster2.waiver_bids[
        0].result == WaiverBidResult.SuccessPending, "Assert 2 failed"

    assert roster1.waiver_bids[
        1].result == WaiverBidResult.SuccessPending, "Assert 3 failed"
    assert roster2.waiver_bids[
        1].result == WaiverBidResult.FailedLowerPriority, "Assert 4 failed"
示例#3
0
def test_roster_budget_is_updated():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player1, amount=5))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1])

    assert roster1.waiver_budget == 95
示例#4
0
def test_cannot_exceed_waiver_budget_one_bid():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     waiver_budget=20,
                     positions=deepcopy(league_positions))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player1, amount=25))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1])

    assert roster1.waiver_bids[
        0].result == WaiverBidResult.FailedNotEnoughMoney
示例#5
0
def test_teams_with_no_bids_work_ok():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))
    roster2 = Roster(id="2",
                     name="team 2",
                     rank=2,
                     positions=deepcopy(league_positions))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player1, amount=5))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1, roster2])

    assert roster1.waiver_bids[0].result == WaiverBidResult.SuccessPending
示例#6
0
def test_drop_player_must_still_be_on_roster():
    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))

    # note that player 2 is not actually in a position on roster1
    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id,
                  player=player1,
                  drop_player=player2,
                  amount=25))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1])

    assert roster1.waiver_bids[
        0].result == WaiverBidResult.FailedDropPlayerNotOnRoster
示例#7
0
def test_highest_bid_wins_second_team():

    roster1 = Roster(id="1",
                     name="team 1",
                     rank=1,
                     positions=deepcopy(league_positions))
    roster2 = Roster(id="2",
                     name="team 2",
                     rank=2,
                     positions=deepcopy(league_positions))

    roster1.waiver_bids.append(
        WaiverBid(roster_id=roster1.id, player=player1, amount=4))
    roster2.waiver_bids.append(
        WaiverBid(roster_id=roster2.id, player=player1, amount=5))

    target = WaiverService(get_roster_player_service())

    target.process_bids([roster1, roster2])

    assert roster1.waiver_bids[0].result == WaiverBidResult.FailedOutBid
    assert roster2.waiver_bids[0].result == WaiverBidResult.SuccessPending