Code Duplication    Length = 34-36 lines in 2 locations

tests/test_coop.py 2 locations

@@ 372-407 (lines=36) @@
369
    assert coop.our_time_text == "1:30:00.0"
370
371
372
def test_opponents_and_entrant_finished_race_ongoing(random_users):
373
    entrant = get_test_entrant(
374
        next(random_users),
375
        status_value="finished", finished_at=datetime.now(timezone.utc),
376
        finish_time=timedelta(hours=1, microseconds=1)
377
    )
378
    partner = get_test_entrant(
379
        next(random_users), status_value="in_progress"
380
    )
381
    opponent1 = get_test_entrant(
382
        next(random_users),
383
        status_value="finished", finished_at=datetime.now(timezone.utc),
384
        finish_time=timedelta(hours=2, microseconds=2),
385
    )
386
    opponent2 = get_test_entrant(
387
        next(random_users),
388
        status_value="finished", finished_at=datetime.now(timezone.utc),
389
        finish_time=timedelta(hours=2, microseconds=1),
390
    )
391
392
    race = get_test_race(
393
        entrants=[entrant, partner, opponent1, opponent2],
394
        started_at=time_ago(hours=2, microseconds=3)
395
    )
396
    coop = Coop()
397
    coop.enabled = True
398
    coop.partner = partner.user.full_name
399
    coop.opponent1 = opponent1.user.full_name
400
    coop.opponent2 = opponent2.user.full_name
401
    coop.update_coop_text(race, entrant.user.full_name)
402
    assert coop.opponent_time_text == "2:00:00.0"
403
    assert coop.our_time_text == "0:59:59.9"
404
    race.started_at = time_ago(hours=2, minutes=30, microseconds=3)
405
    coop.update_coop_text(race, entrant.user.full_name)
406
    assert coop.opponent_time_text == "2:00:00.0"
407
    assert coop.our_time_text == "0:29:59.9"
408
409
410
def test_opponents_and_partner_finished_race_over(random_users):
@@ 410-443 (lines=34) @@
407
    assert coop.our_time_text == "0:29:59.9"
408
409
410
def test_opponents_and_partner_finished_race_over(random_users):
411
    entrant = get_test_entrant(next(random_users), status_value="in_progress")
412
    partner = get_test_entrant(
413
        next(random_users),
414
        status_value="finished", finished_at=datetime.now(timezone.utc),
415
        finish_time=timedelta(hours=3, microseconds=5),
416
    )
417
    opponent1 = get_test_entrant(
418
        next(random_users),
419
        status_value="finished", finished_at=datetime.now(timezone.utc),
420
        finish_time=timedelta(hours=1, microseconds=1),
421
    )
422
    opponent2 = get_test_entrant(
423
        next(random_users),
424
        status_value="finished", finished_at=datetime.now(timezone.utc),
425
        finish_time=timedelta(hours=2, microseconds=1)
426
    )
427
428
    race = get_test_race(
429
        entrants=[entrant, partner, opponent1, opponent2],
430
        opened_by=next(random_users),
431
        started_at=time_ago(hours=3, minutes=1)
432
    )
433
    coop = Coop()
434
    coop.enabled = True
435
    coop.partner = partner.user.full_name
436
    coop.opponent1 = opponent1.user.full_name
437
    coop.opponent2 = opponent2.user.full_name
438
    coop.update_coop_text(race, entrant.user.full_name)
439
440
    assert coop.opponent_time_text == "1:30:00.0"
441
    assert coop.opponent_time_color == coop.winner_color
442
    assert coop.our_time_text == "3:00:30.0"
443
    assert coop.our_time_color == coop.loser_color
444
445
446
def test_everyone_finished_we_won(random_users):