示例#1
0
def test_get_current_user_matches_archive(chpp):
    ma1 = chpp.matches_archive()
    assert isinstance(ma1, HTMatchesArchive)
    assert isinstance(ma1.url, str)
    assert re.match(MATCH_ARCHIVE_PATTERN, ma1.url)
    m = ma1[0]
    assert isinstance(m, HTMatchesArchiveItem)
    assert isinstance(m.home_team, HTTeam)
    assert isinstance(m.url, str)
    assert re.match(MATCH_PATTERN, m.url)

    ma2 = chpp.matches_archive(
        ht_id=1165592,
        first_match_date=HTDatetime.from_calendar(2020, 1, 1),
        last_match_date=HTDatetime.from_calendar(2020, 3, 31),
    )

    assert ma2[0].ht_id == 652913955
    assert ma2[0].home_team_name == "Les Poitevins de La Chapelle"
    assert ma2[0].away_team_name == "FC Traversonne"
    assert ma2[0].datetime == HTDatetime.from_calendar(2020, 1, 1, 15, 10, 0)
    assert ma2[0].type == 5
    assert ma2[0].context_id == 0
    assert ma2[0].rule_id == 0
    assert ma2[0].cup_level == 0
    assert ma2[0].cup_level_index == 0
    assert ma2[0].home_goals == 2
    assert ma2[0].away_goals == 0
    assert ma2[0].url == "https://www.hattrick.org/goto.ashx" \
                         "?path=/Club/Matches/Match.aspx?matchID=652913955"

    for m in ma2:
        assert (HTDatetime.from_calendar(2020, 1, 1)
                <= m.datetime <=
                HTDatetime.from_calendar(2020, 3, 31))
示例#2
0
def test_use_ht_datetime():

    ht_d = HTDatetime(datetime=dt.datetime(year=2020, month=9, day=7))
    assert (ht_d.season, ht_d.week, ht_d.weekday) == (75, 15, 1)
    assert ht_d.league == ""

    ht_d.league = "Brazil"
    assert ht_d.season == 63
    assert ht_d.league == "Brazil"

    ht_d = ht_d + dt.timedelta(days=900)
    assert (ht_d.season, ht_d.week, ht_d.weekday) == (71, 15, 5)
    cet = pytz.timezone("CET")
    date = cet.localize(dt.datetime(year=2023, month=2, day=24))
    assert ht_d.datetime == date
    assert ht_d.league == "Brazil"

    ht_d.timezone = "America/Belize"
    assert ht_d == HTDatetime.from_calendar(2023, 2, 23, 17,
                                            timezone="America/Belize")
    assert (ht_d.season, ht_d.week, ht_d.weekday) == (71, 15, 4)

    ht_d = HTDatetime.from_calendar(2020, 9, 21, 1, 30)
    assert (ht_d.season, ht_d.week, ht_d.weekday) == (76, 1, 1)
    ht_d.timezone = "America/Bahia"
    assert (ht_d.season, ht_d.week, ht_d.weekday) == (75, 16, 7)
示例#3
0
def test_get_training(mocked_chpp):

    training = mocked_chpp.training(team_ht_id=1165592)

    assert isinstance(training, HTTraining)

    assert training.team_ht_id == 1165592
    assert training.team_name == "Les Poitevins de La Chapelle"

    assert training.training_level == 98
    assert training.new_training_level is None
    assert training.training_type == 3
    assert training.stamina_training_part == 25
    assert training.last_training_training_type == 5
    assert training.last_training_training_level == 95
    assert training.last_training_stamina_training_part == 16

    assert training.trainer_ht_id == 421746800
    assert training.trainer_name == "Quentin Lavigne"
    assert training.trainer_arrival_date == HTDatetime.from_calendar(
        2018, 3, 23, 19, 44, 0)

    assert training.morale == 4
    assert training.self_confidence == 5

    assert training.experience_442 == 7
    assert training.experience_433 == 4
    assert training.experience_451 == 3
    assert training.experience_352 == 8
    assert training.experience_532 == 4
    assert training.experience_343 == 3
    assert training.experience_541 == 6
    assert training.experience_523 == 9
    assert training.experience_550 == 5
    assert training.experience_253 == 10
示例#4
0
def test_get_other_user_matches_archives(chpp):
    ma1 = chpp.matches_archive(
        ht_id=1755906,
        first_match_date=HTDatetime.from_calendar(2018, 4, 10),
        last_match_date=HTDatetime.from_calendar(2018, 4, 30),
    )

    assert re.match(MATCH_ARCHIVE_PATTERN, ma1.url)

    for m in ma1:
        assert (HTDatetime.from_calendar(2018, 4, 10)
                <= m.datetime <=
                HTDatetime.from_calendar(2018, 6, 30))
        assert 1755906 in (m.home_team_id, m.away_team_id)
        assert re.match(MATCH_PATTERN, m.url)

    ma2 = chpp.matches_archive(ht_id=1755906,
                               season=60,
                               )

    assert re.match(MATCH_ARCHIVE_PATTERN, ma2.url)

    for m in ma2:
        assert (HTDatetime.from_calendar(2015, 10, 26)
                <= m.datetime <=
                HTDatetime.from_calendar(2016, 2, 14))
        assert 1755906 in (m.home_team_id, m.away_team_id)
        assert re.match(MATCH_PATTERN, m.url)
示例#5
0
def test_get_team_transfers(mocked_chpp):

    transfers_team = mocked_chpp.transfers_team(ht_id=940, page_index=1)

    assert isinstance(transfers_team, HTTransfersTeam)

    assert transfers_team.ht_id == 940
    assert transfers_team.name == "FC Vanilla"
    assert transfers_team.activated_date == (
        HTDatetime.from_calendar(2003, 2, 1, 3, 15, 0))
    assert transfers_team.total_sum_of_buys == 572_579_730
    assert transfers_team.total_sum_of_sales == 569_274_290
    assert transfers_team.number_of_buys == 65
    assert transfers_team.number_of_sales == 144

    assert transfers_team.page_index == 1
    assert transfers_team.pages == 9
    assert transfers_team.start_date == HTDatetime.from_calendar(2008, 10, 11,
                                                                 16, 5, 0)
    assert transfers_team.end_date == HTDatetime.from_calendar(2009, 10, 31,
                                                               9, 44, 0)

    assert isinstance(transfers_team.transfer_list, list)
    assert len(transfers_team.transfer_list) == 25

    transfer_item = transfers_team.transfer_list[10]
    assert isinstance(transfer_item, HTTransfersTeamItem)
    assert transfer_item.ht_id == 177997172
    assert transfer_item.deadline == HTDatetime.from_calendar(2009, 6, 26,
                                                              21, 21, 0)
    assert transfer_item.transfer_type == "S"
    assert transfer_item.price == 10_000_000
    assert transfer_item.player_id == 0
    assert transfer_item.player_name == "André da Costa"
    assert transfer_item.tsi == 10_260
    assert transfer_item.buyer_team_id == 494228
    assert transfer_item.buyer_team_name == "LOS CARA DEPERCHAS"
    assert transfer_item.seller_team_id == 940
    assert transfer_item.seller_team_name == "FC Vanilla"
示例#6
0
def test_get_match(chpp):
    m = chpp.match(ht_id=547513790, events=True)

    assert isinstance(m, HTMatch)
    assert m.ht_id == 547513790
    assert m.url == "https://www.hattrick.org/goto.ashx?" \
                    "path=/Club/Matches/Match.aspx?matchID=547513790"
    assert m.datetime == HTDatetime.from_calendar(2015, 12, 19, 21, 0)
    assert m.home_team_name == "Olympique Mig"
    assert m.away_team_name == "Camden County Jerks"
    assert m.added_minutes == 0
    assert m.arena_id == 1162154
    assert len(m.events) >= 0
    assert m.events[14]["minute"] == 72
    assert m.events[14]["match_part"] == 2
    assert m.events[14]["id"] == 285
    assert m.events[14]["variation"] == 3
    assert m.events[14]["subject_team_id"] == 292366
    assert m.events[14]["subject_player_id"] == 373737451
    assert m.events[14]["object_player_id"] == 314946894
示例#7
0
def test_get_own_youth_player(mocked_chpp):

    yp = mocked_chpp.youth_player(ht_id=259808489)
    assert yp.ht_id == 259808489
    assert yp.first_name == "Alain"
    assert yp.last_name == "Rombaut"
    assert yp.age == HTAge(age=20, age_days=15)
    assert yp.arrival_date == HTDatetime.from_calendar(year=2020, month=4,
                                                       day=11, hour=9,
                                                       minute=34, second=0)
    assert yp.can_be_promoted_in == -351
    assert yp.number == 100
    assert yp.cards == 0
    assert yp.injury_level == -1
    assert yp.specialty == 0
    assert yp.career_goals == 5
    assert yp.career_hattricks == 0
    assert yp.league_goals == 0
    assert yp.friendly_goals == 0
    assert yp.team_id == 2816963
    assert yp.team_name == "Les Petits Chapelains"
    assert yp.team_league_id == 446815
    assert yp.senior_team_id == 1165592
    assert yp.senior_team_name == "Les Poitevins de La Chapelle"

    assert isinstance(yp.skills["keeper"], HTSkillYouth)
    assert yp.skills["keeper"].level is None
    assert yp.skills["keeper"].maximum_reached is False
    assert yp.skills["keeper"].maximum == 2

    assert isinstance(yp.skills["playmaker"], HTSkillYouth)
    assert yp.skills["playmaker"].level == 4
    assert yp.skills["playmaker"].maximum_reached is False
    assert yp.skills["playmaker"].maximum == 4

    assert isinstance(yp.skills["defender"], HTSkillYouth)
    assert yp.skills["defender"].level == 4
    assert yp.skills["defender"].maximum_reached is True
    assert yp.skills["defender"].maximum == 4
示例#8
0
def test_get_specific_team_currently_playing(mocked_chpp):

    team = mocked_chpp.team(ht_id=1959999)
    assert isinstance(team, HTTeam)

    assert team.ht_id == 1959999

    assert team.user_ht_id == 13011389
    assert team.user_language_id == 14
    assert team.user_language_name == "Russian"
    assert team.supporter_tier == "none"
    assert team.user_loginname == "braslet"
    assert team.user_name == "HIDDEN"
    assert team.user_icq is None
    assert team.user_signup_date == HTDatetime.from_calendar(2014, 9, 9,
                                                             6, 54, 1)
    assert team.user_activation_date == HTDatetime.from_calendar(2014, 9, 9,
                                                                 12, 11, 0)
    assert team.user_last_login_date == HTDatetime.from_calendar(2021, 1, 17,
                                                                 4, 51, 59)
    assert team.user_has_manager_license is True

    assert team.name == "Polonka"
    assert team.short_name == 'Polonka'
    assert team.is_primary_club is True
    assert team.founded_date == HTDatetime.from_calendar(2014, 9, 9,
                                                         12, 11, 0)

    assert team.arena_ht_id == 1956561
    assert team.arena_name == "Red and White"

    assert team.league_ht_id == 91
    assert team.league_name == "Bélarus"

    assert team.country_ht_id == 87
    assert team.country_name == "Bélarus"

    assert team.region_ht_id == 1723
    assert team.region_name == "Grodno"

    assert team.trainer_ht_id == 444145675

    assert team.homepage is None

    assert team.still_in_cup is None
    assert team.cup_ht_id is None
    assert team.cup_name is None
    assert team.cup_league_level is None
    assert team.cup_level is None
    assert team.cup_level_index is None
    assert team.cup_match_round is None
    assert team.cup_match_rounds_left is None

    assert team.power_rating_global_ranking == 768
    assert team.power_rating_league_ranking == 5
    assert team.power_rating_region_ranking == 1
    assert team.power_rating == 1139

    assert team.friendly_team_ht_id is None

    assert team.league_level_unit_id == 60146
    assert team.league_level_unit_name == "Vyshejshaja Liga"
    assert team.league_level == 1

    assert team.number_of_victories is None
    assert team.number_of_undefeated is None

    assert team.fan_club_ht_id == 0
    assert team.fan_club_name is None
    assert team.fan_club_size == 3592

    assert team.logo_url == "//res.hattrick.org/teamlogo/20/196/" \
                            "1960/1959999/1959999.png"

    assert team.guestbook_items is None

    assert team.press_announcement_subject is None
    assert team.press_announcement_body is None
    assert team.press_announcement_send_date is None

    assert team.background_color is None
    assert team.color is None

    assert team.dress_uri == "//res.hattrick.org/kits/1/1/1/1/" \
                             "matchKitSmall.png"
    assert team.dress_alternate_uri == "//res.hattrick.org/kits/1/1/1/2/" \
                                       "matchKitSmall.png"

    assert team.is_bot is False

    assert team.rank is None

    assert team.youth_team_ht_id == 2544501
    assert team.youth_team_name == "Polonka Stars"

    assert team.number_of_visits == 5

    assert team.url == "https://www.hattrick.org/goto.ashx" \
                       "?path=/Club/?TeamID=1959999"

    user = team.user
    assert isinstance(user, HTUser)
    assert user.ht_id == 13011389
    assert user.username == 'braslet'
    assert user.supporter_tier == 'none'
    assert user.url == "https://www.hattrick.org/goto.ashx" \
                       "?path=/Club/Manager/?userId=13011389"

    arena = team.arena
    assert isinstance(arena, HTArena)
    assert arena.name == "Red and White"
    assert re.match(ARENA_PATTERN, arena.url)

    youth_team = team.youth_team
    assert isinstance(youth_team, HTYouthTeam)
    assert youth_team.url == 'https://www.hattrick.org/goto.ashx?path=' \
                             '/Club/Youth/?YouthTeamID=2544501'
示例#9
0
def test_get_specific_team(mocked_chpp):

    team = mocked_chpp.team(ht_id=591993)
    assert isinstance(team, HTTeam)

    assert team.ht_id == 591993

    assert team.user_ht_id == 6336642
    assert team.user_language_id == 5
    assert team.user_language_name == "Français"
    assert team.supporter_tier == "platinum"
    assert team.user_loginname == "thekiki76"
    assert team.user_name == "HIDDEN"
    assert team.user_icq is None
    assert team.user_signup_date == HTDatetime.from_calendar(2007, 5, 4,
                                                             11, 49, 34)
    assert team.user_activation_date == HTDatetime.from_calendar(2007, 5, 8,
                                                                 2, 58, 0)
    assert team.user_last_login_date == HTDatetime.from_calendar(2021, 1, 14,
                                                                 20, 53, 41)
    assert team.user_has_manager_license is True

    assert team.name == "thekiki's"
    assert team.short_name == 'thekikis'
    assert team.is_primary_club is True
    assert team.founded_date == HTDatetime.from_calendar(2007, 5, 8,
                                                         2, 58, 0)

    assert team.arena_ht_id == 591993
    assert team.arena_name == "thekiki's evil"

    assert team.league_ht_id == 5
    assert team.league_name == "France"

    assert team.country_ht_id == 5
    assert team.country_name == "France"

    assert team.region_ht_id == 139
    assert team.region_name == "Haute-Normandie"

    assert team.trainer_ht_id == 336956746

    assert team.homepage == "coupe-des-regions.forumpro.fr/index.htm"

    assert team.still_in_cup is True
    assert team.cup_ht_id == 6
    assert team.cup_name == "Coupe de France"
    assert team.cup_league_level == 0
    assert team.cup_level == 1
    assert team.cup_level_index == 1
    assert team.cup_match_round == 2
    assert team.cup_match_rounds_left == 13

    assert team.power_rating_global_ranking == 13632
    assert team.power_rating_league_ranking == 599
    assert team.power_rating_region_ranking == 19
    assert team.power_rating == 990

    assert team.friendly_team_ht_id == 0

    assert team.league_level_unit_id == 21672
    assert team.league_level_unit_name == "V.96"
    assert team.league_level == 5

    assert team.number_of_victories == 5
    assert team.number_of_undefeated == 5

    assert team.fan_club_ht_id == 339929
    assert team.fan_club_name == "the bad kiki's fanatic"
    assert team.fan_club_size == 2419

    assert team.logo_url == "//res.hattrick.org/teamlogo/6/60/592/591993/" \
                            "591993.jpg"

    assert team.guestbook_items == 239

    assert team.press_announcement_subject == "retour vers le fu..heu " \
                                              "vers la V.96"
    assert team.press_announcement_body == (
        "Aprés une relégation de DIV IV Thekiki's reviennent voir les copains "
        "de la V.96, pour mettre le bazar ;)\n"
        "bonne saison les gars ca va bagarrer !!!")
    assert team.press_announcement_send_date == (
        HTDatetime.from_calendar(2020, 9, 17, 11, 55, 0))

    assert team.background_color == "000000"
    assert team.color == "ffffff"

    assert team.dress_uri == "//res.hattrick.org/kits/27/261/2606/2605185/" \
                             "matchKitSmall.png"
    assert team.dress_alternate_uri == "//res.hattrick.org/kits/27/261/2606/" \
                                       "2605184/matchKitSmall.png"

    assert team.is_bot is False

    assert team.rank == 1182

    assert team.youth_team_ht_id == 546603
    assert team.youth_team_name == 'thebabykikis'

    assert team.number_of_visits == 2

    assert team.url == "https://www.hattrick.org/goto.ashx" \
                       "?path=/Club/?TeamID=591993"

    user = team.user
    assert isinstance(user, HTUser)
    assert user.ht_id == 6336642
    assert user.username == 'thekiki76'
    assert user.supporter_tier == 'platinum'
    assert user.url == "https://www.hattrick.org/goto.ashx" \
                       "?path=/Club/Manager/?userId=6336642"

    arena = team.arena
    assert isinstance(arena, HTArena)
    assert arena.name == "thekiki's evil"
    assert re.match(ARENA_PATTERN, arena.url)

    youth_team = team.youth_team
    assert isinstance(youth_team, HTYouthTeam)
    assert youth_team.url == 'https://www.hattrick.org/goto.ashx?path=' \
                             '/Club/Youth/?YouthTeamID=546603'