3
0
mirror of https://github.com/snipe/snipe-it.git synced 2026-08-18 11:15:42 +00:00
Files
snipe-it/tests/Unit/UserTest.php
2026-06-17 18:06:33 -07:00

284 lines
11 KiB
PHP

<?php
namespace Tests\Unit;
use App\Models\User;
use Tests\TestCase;
class UserTest extends TestCase
{
public function test_first_name_split()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_firstname = 'Natalia';
$expected_lastname = "Allanovna Romanova-O'Shostakova";
$user = User::generateFormattedNameFromFullName($fullname, 'firstname');
$this->assertEquals($expected_firstname, $user['first_name']);
$this->assertEquals($expected_lastname, $user['last_name']);
}
public function test_first_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'natalia';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'natalia@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_last_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'allanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_last_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'allanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname');
$this->assertEquals($expected_username, $user['username'].'@example.com');
}
public function test_first_name_dot_last_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'natalia.allanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname.lastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_name_dot_last_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'natalia.allanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname.lastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_last_name_first_initial()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'allanovna-romanova-oshostakovan';
$user = User::generateFormattedNameFromFullName($fullname, 'lastnamefirstinitial');
$this->assertEquals($expected_username, $user['username']);
}
public function test_last_name_first_initial_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'allanovna-romanova-oshostakovan@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'lastnamefirstinitial');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_first_initial_last_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'nallanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'filastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_initial_last_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'nallanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'filastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_first_initial_underscore_last_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'nallanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'firstinitial_lastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_initial_underscore_last_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'nallanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstinitial_lastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_single_name()
{
$fullname = 'Natalia';
$expected_username = 'natalia';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname_lastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_single_name_email()
{
$fullname = 'Natalia';
$expected_email = 'natalia@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstname_lastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_first_initial_dot_lastname()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'nallanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'firstinitial.lastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_initial_dot_lastname_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'nallanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstinitial.lastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_last_name_dot_first_initial()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'allanovna-romanova-oshostakova.n';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname.firstinitial');
$this->assertEquals($expected_username, $user['username']);
}
public function test_last_name_dot_first_initial_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'allanovna-romanova-oshostakova.n@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname.firstinitial');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_last_name_underscore_first_initial()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'allanovna-romanova-oshostakova_n';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname_firstinitial');
$this->assertEquals($expected_username, $user['username']);
}
public function test_last_name_underscore_first_initial_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'allanovna-romanova-oshostakova_n@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'lastname_firstinitial');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_first_name_last_name()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'nataliaallanovna-romanova-oshostakova';
$user = User::generateFormattedNameFromFullName($fullname, 'firstnamelastname');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_name_last_name_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'nataliaallanovna-romanova-oshostakova@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstnamelastname');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_first_name_last_initial()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_username = 'nataliaa';
$user = User::generateFormattedNameFromFullName($fullname, 'firstnamelastinitial');
$this->assertEquals($expected_username, $user['username']);
}
public function test_first_name_last_initial_email()
{
$fullname = "Natalia Allanovna Romanova-O'Shostakova";
$expected_email = 'nataliaa@example.com';
$user = User::generateFormattedNameFromFullName($fullname, 'firstnamelastinitial');
$this->assertEquals($expected_email, $user['username'].'@example.com');
}
public function test_link_light_color_attribute()
{
// if global branding and user are not set we use the app default defined in the accessor:
$this->settings->set(['link_light_color' => null]);
$this->assertEquals(
'#296282',
User::factory()->create()->link_light_color
);
// nothing set on user we use global branding:
$this->settings->set(['link_light_color' => '#ff6700']);
$this->assertEquals(
'#ff6700',
User::factory()->create()->link_light_color
);
// user has it set we use it:
$user = User::factory()->create(['link_light_color' => '#61b329']);
$this->assertEquals(
'#61b329',
$user->link_light_color
);
}
public function test_link_dark_color_attribute()
{
// if global branding and user are not set we use the app default defined in the accessor:
$this->settings->set(['link_dark_color' => null]);
$this->assertEquals(
'#5fa4cc',
User::factory()->create()->link_dark_color
);
// nothing set on user we use global branding:
$this->settings->set(['link_dark_color' => '#ff6700']);
$this->assertEquals(
'#ff6700',
User::factory()->create()->link_dark_color
);
// user has it set we use it:
$user = User::factory()->create(['link_dark_color' => '#61b329']);
$this->assertEquals(
'#61b329',
$user->link_dark_color
);
}
public function test_nav_link_color_attribute()
{
// if global branding and user are not set we use the app default defined in the accessor:
$this->settings->set(['nav_link_color' => null]);
$this->assertEquals(
'#ffffff',
User::factory()->create()->nav_link_color
);
// nothing set on user we use global branding:
$this->settings->set(['nav_link_color' => '#ff6700']);
$this->assertEquals(
'#ff6700',
User::factory()->create()->nav_link_color
);
// user has it set we use it:
$user = User::factory()->create(['nav_link_color' => '#61b329']);
$this->assertEquals(
'#61b329',
$user->nav_link_color
);
}
}