|
@@ 201-215 (lines=15) @@
|
| 198 |
|
assert coop.label_text == f"{partner.user.name} needs to finish before" |
| 199 |
|
assert coop.text == "3:00:00.0" |
| 200 |
|
|
| 201 |
|
def test_opponents_and_partner_finished_race_over(): |
| 202 |
|
entrant = get_test_entrant(status_value="in_progress") |
| 203 |
|
partner = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=3, microseconds=5), users_used=[entrant.user.id]) |
| 204 |
|
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]) |
| 205 |
|
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]) |
| 206 |
|
|
| 207 |
|
race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=3, minutes=1)) |
| 208 |
|
coop = Coop() |
| 209 |
|
coop.enabled = True |
| 210 |
|
coop.partner = partner.user.full_name |
| 211 |
|
coop.opponent1 = opponent1.user.full_name |
| 212 |
|
coop.opponent2 = opponent2.user.full_name |
| 213 |
|
coop.update_coop_text(race, entrant.user.full_name) |
| 214 |
|
assert coop.label_text == f"{opponent1.user.name} and {opponent2.user.name} won" |
| 215 |
|
assert coop.text == "1:30:00.0" |
| 216 |
|
|
| 217 |
|
def test_everyone_finished_we_won(): |
| 218 |
|
entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1)) |
|
@@ 185-199 (lines=15) @@
|
| 182 |
|
def time_ago(**kwargs): |
| 183 |
|
return datetime.now(timezone.utc)-timedelta(**kwargs) |
| 184 |
|
|
| 185 |
|
def test_opponents_and_entrant_finished_race_ongoing(): |
| 186 |
|
entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1)) |
| 187 |
|
partner = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id]) |
| 188 |
|
opponent1 = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=2, microseconds=2), users_used=[entrant.user.id, partner.user.id]) |
| 189 |
|
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]) |
| 190 |
|
|
| 191 |
|
race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=1)) |
| 192 |
|
coop = Coop() |
| 193 |
|
coop.enabled = True |
| 194 |
|
coop.partner = partner.user.full_name |
| 195 |
|
coop.opponent1 = opponent1.user.full_name |
| 196 |
|
coop.opponent2 = opponent2.user.full_name |
| 197 |
|
coop.update_coop_text(race, entrant.user.full_name) |
| 198 |
|
assert coop.label_text == f"{partner.user.name} needs to finish before" |
| 199 |
|
assert coop.text == "3:00:00.0" |
| 200 |
|
|
| 201 |
|
def test_opponents_and_partner_finished_race_over(): |
| 202 |
|
entrant = get_test_entrant(status_value="in_progress") |
|
@@ 166-180 (lines=15) @@
|
| 163 |
|
assert coop.label_text == opponent2.user.name + " needs to finish before" |
| 164 |
|
assert coop.text == "3:00:00.0" |
| 165 |
|
|
| 166 |
|
def test_entrant_and_partner_and_opponent1_finished_race_over(): |
| 167 |
|
entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1)) |
| 168 |
|
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]) |
| 169 |
|
opponent1 = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=3, microseconds=2), users_used=[entrant.user.id, partner.user.id]) |
| 170 |
|
opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id]) |
| 171 |
|
|
| 172 |
|
race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=3, minutes=4)) |
| 173 |
|
coop = Coop() |
| 174 |
|
coop.enabled = True |
| 175 |
|
coop.partner = partner.user.full_name |
| 176 |
|
coop.opponent1 = opponent1.user.full_name |
| 177 |
|
coop.opponent2 = opponent2.user.full_name |
| 178 |
|
coop.update_coop_text(race, entrant.user.full_name) |
| 179 |
|
assert coop.label_text == f"{entrant.user.name} and {partner.user.name} won" |
| 180 |
|
assert coop.text == "1:30:00.0" |
| 181 |
|
|
| 182 |
|
def time_ago(**kwargs): |
| 183 |
|
return datetime.now(timezone.utc)-timedelta(**kwargs) |
|
@@ 150-164 (lines=15) @@
|
| 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)) |
| 152 |
|
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]) |
| 153 |
|
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]) |
| 154 |
|
opponent2 = get_test_entrant(status_value="in_progress", users_used=[entrant.user.id, partner.user.id, opponent1.user.id]) |
| 155 |
|
|
| 156 |
|
race = get_test_race(entrants=[entrant, partner, opponent1, opponent2], started_at=time_ago(hours=2, minutes=12)) |
| 157 |
|
coop = Coop() |
| 158 |
|
coop.enabled = True |
| 159 |
|
coop.partner = partner.user.full_name |
| 160 |
|
coop.opponent1 = opponent1.user.full_name |
| 161 |
|
coop.opponent2 = opponent2.user.full_name |
| 162 |
|
coop.update_coop_text(race, entrant.user.full_name) |
| 163 |
|
assert coop.label_text == opponent2.user.name + " needs to finish before" |
| 164 |
|
assert coop.text == "3:00:00.0" |
| 165 |
|
|
| 166 |
|
def test_entrant_and_partner_and_opponent1_finished_race_over(): |
| 167 |
|
entrant = get_test_entrant(status_value="finished", finished_at=datetime.now(timezone.utc), finish_time=timedelta(hours=1, microseconds=1)) |