diff --git a/tests/Models/BeatmapsetTest.php b/tests/Models/BeatmapsetTest.php index 909b69ff203..bf9f97c666b 100644 --- a/tests/Models/BeatmapsetTest.php +++ b/tests/Models/BeatmapsetTest.php @@ -234,7 +234,7 @@ public function testGlobalScopeSoftDelete() public function testHybridLegacyNominate(): void { $user = User::factory()->withGroup('bng', ['osu'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); // create legacy nomination event to enable legacy nomination mode BeatmapsetNomination::factory()->create([ @@ -259,7 +259,7 @@ public function testHybridLegacyNominate(): void public function testHybridLegacyQualify(): void { $user = User::factory()->withGroup('bng', ['osu'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); // create legacy nomination event to enable legacy nomination mode BeatmapsetNomination::factory()->create([ @@ -311,7 +311,7 @@ public function testHybridNominateWithNullPlaymode(): void public function testHybridNominateWithNoPlaymodePermission(): void { $user = User::factory()->withGroup('bng', ['osu'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); $notifications = Notification::count(); $userNotifications = UserNotification::count(); @@ -332,7 +332,7 @@ public function testHybridNominateWithNoPlaymodePermission(): void public function testHybridNominateWithPlaymodePermissionSingleMode(): void { $user = User::factory()->withGroup('bng', ['osu'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); $notifications = Notification::count(); $userNotifications = UserNotification::count(); @@ -351,7 +351,7 @@ public function testHybridNominateWithPlaymodePermissionSingleMode(): void public function testHybridNominateWithPlaymodePermissionTooMany(): void { $user = User::factory()->withGroup('bng', ['osu'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); $this->fillNominationsExceptLastForMode($beatmapset, 'bng', 'osu'); @@ -368,7 +368,7 @@ public function testHybridNominateWithPlaymodePermissionTooMany(): void public function testHybridNominateWithPlaymodePermissionMultipleModes(): void { $user = User::factory()->withGroup('bng', ['osu', 'taiko'])->create(); - $beatmapset = $this->createHybridBeatmapset(null, ['osu', 'taiko']); + $beatmapset = $this->createHybridBeatmapset(); $notifications = Notification::count(); $userNotifications = UserNotification::count(); @@ -501,25 +501,25 @@ private function beatmapsetFactory(): Factory ->has(Beatmap::factory()->state(fn (array $attr, Beatmapset $set) => ['user_id' => $set->user_id])); } - private function createHybridBeatmapset($params = [], $playmodes = ['osu', 'taiko']): Beatmapset + private function createHybridBeatmapset($playmodes = ['osu', 'taiko']): Beatmapset { - $defaultParams = [ - 'approved' => Beatmapset::STATES['pending'], - 'download_disabled' => true, - // 'genre_id' => $this->fakeGenre->genre_id, - // 'language_id' => $this->fakeLanguage->language_id, - ]; - - $params['user_id'] ??= User::factory(); + BeatmapMirror::factory()->default()->create(); - $beatmapset = Beatmapset::factory()->create(array_merge($defaultParams, $params)); + $beatmapset = Beatmapset::factory() + ->owner() + ->pending() + ->state(['download_disabled' => true]); foreach ($playmodes as $playmode) { - $beatmapset->beatmaps()->save(Beatmap::factory()->make(['playmode' => Beatmap::modeInt($playmode)])); + $beatmapset = $beatmapset->has( + Beatmap::factory()->state(fn (array $attr, Beatmapset $set) => [ + 'playmode' => Beatmap::modeInt($playmode), + 'user_id' => $set->user_id, + ]) + ); } - BeatmapMirror::factory()->default()->create(); - return $beatmapset; + return $beatmapset->create(); } private function fillNominationsExceptLastForMode(Beatmapset $beatmapset, string $group, string $playmode): void