1
0
mirror of https://github.com/flarum/core.git synced 2025-07-30 21:20:24 +02:00

User Preferences Extender and Tests (#2463)

This commit is contained in:
Alexander Skvortsov
2020-12-04 15:45:08 -05:00
committed by GitHub
parent 641619e820
commit eed407812f
7 changed files with 99 additions and 14 deletions

View File

@@ -14,6 +14,7 @@ use Flarum\Tests\integration\RetrievesAuthorizedUsers;
use Flarum\Tests\integration\TestCase;
use Flarum\User\DisplayName\DriverInterface;
use Flarum\User\User;
use Illuminate\Support\Arr;
class UserTest extends TestCase
{
@@ -35,6 +36,14 @@ class UserTest extends TestCase
]);
}
protected function registerTestPreference()
{
$this->extend(
(new Extend\User())
->registerPreference('test', 'boolval', true)
);
}
/**
* @test
*/
@@ -104,6 +113,51 @@ class UserTest extends TestCase
$this->assertNotContains('viewUserList', $user->getPermissions());
}
/**
* @test
*/
public function can_add_user_preference()
{
$this->registerTestPreference();
$this->prepDb();
/** @var User $user */
$user = User::find(2);
$this->assertEquals(true, Arr::get($user->preferences, 'test'));
}
/**
* @test
*/
public function can_store_user_preference()
{
$this->registerTestPreference();
$this->prepDb();
/** @var User $user */
$user = User::find(2);
$user->setPreference('test', false);
$this->assertEquals(false, $user->getPreference('test'));
}
/**
* @test
*/
public function storing_user_preference_modified_by_transformer()
{
$this->registerTestPreference();
$this->prepDb();
/** @var User $user */
$user = User::find(2);
$user->setPreference('test', []);
$this->assertEquals(false, $user->getPreference('test'));
}
}
class CustomDisplayNameDriver implements DriverInterface