Code Duplication    Length = 15-15 lines in 4 locations

tests/test_coop.py 4 locations

@@ 70-84 (lines=15) @@
67
    assert coop.label_text == "Race still in progress"
68
    assert coop.text == " "
69
70
def test_only_opponent2_finished():
71
    entrant = get_test_entrant(status_value="in_progress")
72
    partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id])
73
    opponent1 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id])
74
    opponent2 = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1), users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
75
76
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=1, minutes=15))
77
    coop = Coop()
78
    coop.enabled = True
79
    coop.partner = partner.user.full_name
80
    coop.opponent1 = opponent1.user.full_name
81
    coop.opponent2 = opponent2.user.full_name
82
    coop.update_coop_text(race, entrant.user.full_name)
83
    assert coop.label_text == "Race still in progress"
84
    assert coop.text == " "
85
86
def test_entrant_and_partner_finished():
87
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1))
@@ 54-68 (lines=15) @@
51
    assert coop.label_text == "Race still in progress"
52
    assert coop.text == " "
53
54
def test_only_opponent1_finished():
55
    entrant = get_test_entrant(status_value="in_progress")
56
    partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id])
57
    opponent1 = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1), users_used=[entrant.user.id, partner.user.id])
58
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
59
60
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=1, minutes=15))
61
    coop = Coop()
62
    coop.enabled = True
63
    coop.partner = partner.user.full_name
64
    coop.opponent1 = opponent1.user.full_name
65
    coop.opponent2 = opponent2.user.full_name
66
    coop.update_coop_text(race, entrant.user.full_name)
67
    assert coop.label_text == "Race still in progress"
68
    assert coop.text == " "
69
70
def test_only_opponent2_finished():
71
    entrant = get_test_entrant(status_value="in_progress")
@@ 38-52 (lines=15) @@
35
    assert coop.label_text == "Race still in progress"
36
    assert coop.text == " "
37
38
def test_only_partner_finished():
39
    entrant = get_test_entrant(status_value="in_progress")
40
    partner = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1), users_used=[entrant.user.id])
41
    opponent1 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id])
42
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
43
44
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=1, minutes=15))
45
    coop = Coop()
46
    coop.enabled = True
47
    coop.partner = partner.user.full_name
48
    coop.opponent1 = opponent1.user.full_name
49
    coop.opponent2 = opponent2.user.full_name
50
    coop.update_coop_text(race, entrant.user.full_name)
51
    assert coop.label_text == "Race still in progress"
52
    assert coop.text == " "
53
54
def test_only_opponent1_finished():
55
    entrant = get_test_entrant(status_value="in_progress")
@@ 22-36 (lines=15) @@
19
    assert coop.label_text == "Race still in progress"
20
    assert coop.text == " "
21
22
def test_only_entrant_finished():
23
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1))
24
    partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id])
25
    opponent1 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id])
26
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
27
28
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=1, minutes=15))
29
    coop = Coop()
30
    coop.enabled = True
31
    coop.partner = partner.user.full_name
32
    coop.opponent1 = opponent1.user.full_name
33
    coop.opponent2 = opponent2.user.full_name
34
    coop.update_coop_text(race, entrant.user.full_name)
35
    assert coop.label_text == "Race still in progress"
36
    assert coop.text == " "
37
38
def test_only_partner_finished():
39
    entrant = get_test_entrant(status_value="in_progress")