Skip to content

Commit

Permalink
Add test for multiplayer score completion check on contest
Browse files Browse the repository at this point in the history
  • Loading branch information
nanaya committed Aug 3, 2023
1 parent 67c59d6 commit 263d1a8
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions tests/Models/ContestTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class ContestTest extends TestCase
/**
* @dataProvider dataProviderForTestAssertVoteRequirementPlaylistBeatmapsets
*/
public function testAssertVoteRequirementPlaylistBeatmapsets(bool $loggedIn, bool $played, bool $passed, ?bool $mustPass, bool $canVote): void
public function testAssertVoteRequirementPlaylistBeatmapsets(bool $loggedIn, bool $played, bool $completed, bool $passed, ?bool $mustPass, bool $canVote): void
{
$beatmapsets = Beatmapset::factory()->count(5)->create();
$beatmaps = [];
Expand Down Expand Up @@ -72,7 +72,7 @@ public function testAssertVoteRequirementPlaylistBeatmapsets(bool $loggedIn, boo
->whereIn('beatmap_id', array_column($beatmapset->beatmaps->all(), 'beatmap_id'))
->first();
MultiplayerScore::factory()->create([
'ended_at' => $endedAt,
'ended_at' => $completed ? $endedAt : null,
'passed' => $passed,
'playlist_item_id' => $playlistItem,
'user_id' => $userId,
Expand Down Expand Up @@ -116,20 +116,22 @@ public function dataProviderForTestAssertVoteRequirementPlaylistBeatmapsets(): a
{
return [
// when passing is required
[true, true, true, true, true],
[true, true, false, true, false],
[true, false, false, true, false],
[false, false, false, true, false],
[true, true, true, true, true, true],
[true, true, true, false, true, false],
[true, false, true, false, true, false],
[false, false, true, false, true, false],
// when passing is not specified (default required)
[true, true, true, null, true],
[true, true, false, null, false],
[true, false, false, null, false],
[false, false, false, null, false],
[true, true, true, true, null, true],
[true, true, true, false, null, false],
[true, false, true, false, null, false],
[false, false, true, false, null, false],
// when passing is not required
[true, true, true, false, true],
[true, true, false, false, true],
[true, false, false, false, false],
[false, false, false, false, false],
[true, true, true, true, false, true],
[true, true, true, false, false, true],
[true, false, true, false, false, false],
[false, false, true, false, false, false],
// ensure completion is actually checked
[true, true, false, false, false, false],
];
}

Expand Down

0 comments on commit 263d1a8

Please sign in to comment.