mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
Begin to implement patch test
This commit is contained in:
parent
a799659610
commit
1c3c36f2a0
|
@ -2,8 +2,12 @@
|
||||||
|
|
||||||
namespace Tests\Feature\Api\Users;
|
namespace Tests\Feature\Api\Users;
|
||||||
|
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\Department;
|
use App\Models\Department;
|
||||||
|
use App\Models\Group;
|
||||||
|
use App\Models\Location;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Tests\Support\InteractsWithSettings;
|
use Tests\Support\InteractsWithSettings;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
@ -11,8 +15,89 @@ class UsersUpdateTest extends TestCase
|
||||||
{
|
{
|
||||||
use InteractsWithSettings;
|
use InteractsWithSettings;
|
||||||
|
|
||||||
|
public function testValidationForUpdatingUserViaPatch()
|
||||||
|
{
|
||||||
|
$this->markTestIncomplete();
|
||||||
|
}
|
||||||
|
|
||||||
public function testCanUpdateUserViaPatch()
|
public function testCanUpdateUserViaPatch()
|
||||||
|
{
|
||||||
|
$admin = User::factory()->superuser()->create();
|
||||||
|
$manager = User::factory()->create();
|
||||||
|
$company = Company::factory()->create();
|
||||||
|
$department = Department::factory()->create();
|
||||||
|
$location = Location::factory()->create();
|
||||||
|
[$groupA, $groupB] = Group::factory()->count(2)->create();
|
||||||
|
|
||||||
|
$user = User::factory()->create([
|
||||||
|
'activated' => false,
|
||||||
|
'two_factor_enrolled' => false,
|
||||||
|
'two_factor_optin' => false,
|
||||||
|
'remote' => false,
|
||||||
|
'vip' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->actingAsForApi($admin)
|
||||||
|
->patch(route('api.users.update', $user), [
|
||||||
|
'first_name' => 'Mabel',
|
||||||
|
'last_name' => 'Mora',
|
||||||
|
'username' => 'mabel',
|
||||||
|
'password' => 'super-secret',
|
||||||
|
'email' => 'mabel@onlymurderspod.com',
|
||||||
|
// @todo:
|
||||||
|
// 'permissions' => '',
|
||||||
|
'activated' => true,
|
||||||
|
'phone' => '619-555-5555',
|
||||||
|
'jobtitle' => 'Host',
|
||||||
|
'manager_id' => $manager->id,
|
||||||
|
'employee_num' => '1111',
|
||||||
|
'notes' => 'Pretty good artist',
|
||||||
|
'company_id' => $company->id,
|
||||||
|
'two_factor_enrolled' => true,
|
||||||
|
'two_factor_optin' => true,
|
||||||
|
'department_id' => $department->id,
|
||||||
|
'location_id' => $location->id,
|
||||||
|
'remote' => true,
|
||||||
|
'groups' => $groupA->id,
|
||||||
|
'vip' => true,
|
||||||
|
'start_date' => '2021-08-01',
|
||||||
|
'end_date' => '2025-12-31',
|
||||||
|
])
|
||||||
|
->assertOk();
|
||||||
|
|
||||||
|
$user->refresh();
|
||||||
|
$this->assertEquals('Mabel', $user->first_name);
|
||||||
|
$this->assertEquals('Mora', $user->last_name);
|
||||||
|
$this->assertEquals('mabel', $user->username);
|
||||||
|
$this->assertTrue(Hash::check('super-secret', $user->password));
|
||||||
|
$this->assertEquals('mabel@onlymurderspod.com', $user->email);
|
||||||
|
$this->assertTrue($user->activated);
|
||||||
|
$this->assertEquals('619-555-5555', $user->phone);
|
||||||
|
$this->assertEquals('Host', $user->jobtitle);
|
||||||
|
$this->assertTrue($user->manager->is($manager));
|
||||||
|
$this->assertEquals('1111', $user->employee_num);
|
||||||
|
$this->assertEquals('Pretty good artist', $user->notes);
|
||||||
|
$this->assertTrue($user->company->is($company));
|
||||||
|
// @todo:
|
||||||
|
// $this->assertEquals(1, $user->two_factor_enrolled);
|
||||||
|
// $this->assertEquals(1, $user->two_factor_optin);
|
||||||
|
$this->assertTrue($user->department->is($department));
|
||||||
|
$this->assertTrue($user->location->is($location));
|
||||||
|
$this->assertEquals(1, $user->remote);
|
||||||
|
$this->assertTrue($user->groups->contains($groupA));
|
||||||
|
$this->assertTrue($user->vip);
|
||||||
|
$this->assertEquals('2021-08-01', $user->start_date);
|
||||||
|
$this->assertEquals('2025-12-31', $user->end_date);
|
||||||
|
|
||||||
|
// `groups` can be an id or array or ids
|
||||||
|
$this->patch(route('api.users.update', $user), ['groups' => [$groupA->id, $groupB->id]]);
|
||||||
|
|
||||||
|
$user->refresh();
|
||||||
|
$this->assertTrue($user->groups->contains($groupA));
|
||||||
|
$this->assertTrue($user->groups->contains($groupB));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testValidationForUpdatingUserViaPut()
|
||||||
{
|
{
|
||||||
$this->markTestIncomplete();
|
$this->markTestIncomplete();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue