1<?php
2
3// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0.
4// See the LICENCE file in the repository root for full licence text.
5
6declare(strict_types=1);
7
8namespace Tests\Models;
9
10use App\Models\User;
11use Tests\TestCase;
12
13class UserProfileCustomizationTest extends TestCase
14{
15 public function testUpdateNullOptions(): void
16 {
17 $profileCustomization = User::factory()->create()->userProfileCustomization()->firstOrCreate();
18 $profileCustomization->update(['options' => null]);
19
20 $audioVolume = $profileCustomization->audio_volume + 1;
21 $profileCustomization->fresh()->update(['audio_volume' => $audioVolume]);
22
23 $this->assertSame($audioVolume, $profileCustomization->fresh()->audio_volume);
24 }
25
26 public function testUpdateOption(): void
27 {
28 $profileCustomization = User::factory()->create()->userProfileCustomization()->firstOrCreate();
29
30 $audioVolume = $profileCustomization->audio_volume + 1;
31 $profileCustomization->fresh()->update(['audio_volume' => $audioVolume]);
32
33 $this->assertSame($audioVolume, $profileCustomization->fresh()->audio_volume);
34 }
35}