Code Duplication    Length = 15-15 lines in 4 locations

tests/test_coop.py 4 locations

@@ 134-148 (lines=15) @@
131
    assert coop.label_text == "Race still in progress"
132
    assert coop.text == " "
133
134
def test_partner_and_opponent1_finished():
135
    entrant = get_test_entrant(status_value="in_progress")
136
    partner = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1), users_used=[entrant.user.id])
137
    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])
138
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
139
140
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=15))
141
    coop = Coop()
142
    coop.enabled = True
143
    coop.partner = partner.user.full_name
144
    coop.opponent1 = opponent1.user.full_name
145
    coop.opponent2 = opponent2.user.full_name
146
    coop.update_coop_text(race, entrant.user.full_name)
147
    assert coop.label_text == "Race still in progress"
148
    assert coop.text == " "
149
150
def test_entrant_and_partner_and_opponent1_finished_race_ongoing():
151
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1))
@@ 118-132 (lines=15) @@
115
    assert coop.label_text == "They won. :("
116
    assert coop.text == "1:30:00.0"
117
118
def test_entrant_and_opponent1_finished():
119
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1))
120
    partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id])
121
    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])
122
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
123
124
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=15))
125
    coop = Coop()
126
    coop.enabled = True
127
    coop.partner = partner.user.full_name
128
    coop.opponent1 = opponent1.user.full_name
129
    coop.opponent2 = opponent2.user.full_name
130
    coop.update_coop_text(race, entrant.user.full_name)
131
    assert coop.label_text == "Race still in progress"
132
    assert coop.text == " "
133
134
def test_partner_and_opponent1_finished():
135
    entrant = get_test_entrant(status_value="in_progress")
@@ 102-116 (lines=15) @@
99
    assert coop.label_text == "We won!"
100
    assert coop.text == "1:30:00.0"
101
102
def test_opponents_finished():
103
    entrant = get_test_entrant(status_value="in_progress")
104
    partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id])
105
    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])
106
    opponent2 = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1), users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
107
108
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=15))
109
    coop = Coop()
110
    coop.enabled = True
111
    coop.partner = partner.user.full_name
112
    coop.opponent1 = opponent1.user.full_name
113
    coop.opponent2 = opponent2.user.full_name
114
    coop.update_coop_text(race, entrant.user.full_name)
115
    assert coop.label_text == "They won. :("
116
    assert coop.text == "1:30:00.0"
117
118
def test_entrant_and_opponent1_finished():
119
    entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1))
@@ 86-100 (lines=15) @@
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))
88
    partner = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=1), users_used=[entrant.user.id])
89
    opponent1 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id])
90
    opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id])
91
92
    race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=15))
93
    coop = Coop()
94
    coop.enabled = True
95
    coop.partner = partner.user.full_name
96
    coop.opponent1 = opponent1.user.full_name
97
    coop.opponent2 = opponent2.user.full_name
98
    coop.update_coop_text(race, entrant.user.full_name)
99
    assert coop.label_text == "We won!"
100
    assert coop.text == "1:30:00.0"
101
102
def test_opponents_finished():
103
    entrant = get_test_entrant(status_value="in_progress")