mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-09 23:24:06 -08:00
failing ui test
This commit is contained in:
parent
f031309f8f
commit
afaf53cdfc
|
@ -66,7 +66,9 @@
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8 col-md-offset-2">
|
<div class="col-md-8 col-md-offset-2">
|
||||||
<form class="form-horizontal" method="post" autocomplete="off" action="{{ (isset($user->id)) ? route('users.update', ['user' => $user->id]) : route('users.store') }}" enctype="multipart/form-data" id="userForm">
|
<form class="form-horizontal" method="post" autocomplete="off"
|
||||||
|
action="{{ (isset($user->id)) ? route('users.update', ['user' => $user->id]) : route('users.store') }}"
|
||||||
|
enctype="multipart/form-data" id="userForm">
|
||||||
{{csrf_field()}}
|
{{csrf_field()}}
|
||||||
|
|
||||||
@if($user->id)
|
@if($user->id)
|
||||||
|
|
|
@ -146,8 +146,7 @@ Route::group(['prefix' => 'users', 'middleware' => ['auth']], function () {
|
||||||
)->name('users/bulkeditsave');
|
)->name('users/bulkeditsave');
|
||||||
|
|
||||||
// pulling this out of the resource because I need route model binding in the request
|
// pulling this out of the resource because I need route model binding in the request
|
||||||
Route::patch('/{user}', [Users\UsersController::class, 'update'])->name('users.update');
|
Route::match(['put', 'patch'], '/{user}', [Users\UsersController::class, 'update'])->name('users.update');
|
||||||
Route::put('/{user}', [Users\UsersController::class, 'update'])->name('users.put-update');
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::resource('users', Users\UsersController::class, [
|
Route::resource('users', Users\UsersController::class, [
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace Tests\Feature\Users\Api;
|
namespace Tests\Feature\Users\Api;
|
||||||
|
|
||||||
|
use App\Models\Asset;
|
||||||
use App\Models\Company;
|
use App\Models\Company;
|
||||||
use App\Models\Department;
|
use App\Models\Department;
|
||||||
use App\Models\Group;
|
use App\Models\Group;
|
||||||
|
@ -344,4 +345,33 @@ class UpdateUserTest extends TestCase
|
||||||
$this->assertTrue($user->refresh()->groups->contains($groupB));
|
$this->assertTrue($user->refresh()->groups->contains($groupB));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testMultiCompanyUserCannotBeMovedIfHasAsset()
|
||||||
|
{
|
||||||
|
$this->settings->enableMultipleFullCompanySupport();
|
||||||
|
|
||||||
|
$companyA = Company::factory()->create();
|
||||||
|
$companyB = Company::factory()->create();
|
||||||
|
|
||||||
|
$user = User::factory()->create([
|
||||||
|
'company_id' => $companyA->id,
|
||||||
|
]);
|
||||||
|
$superUser = User::factory()->superuser()->create();
|
||||||
|
|
||||||
|
$asset = Asset::factory()->create();
|
||||||
|
|
||||||
|
// no assets assigned, therefore success
|
||||||
|
$this->actingAsForApi($superUser)->patchJson(route('api.users.update', $user), [
|
||||||
|
'username' => 'test',
|
||||||
|
'company_id' => $companyB->id,
|
||||||
|
])->assertStatusMessageIs('success');
|
||||||
|
|
||||||
|
$asset->checkOut($user, $superUser);
|
||||||
|
|
||||||
|
// asset assigned, therefore error
|
||||||
|
$this->actingAsForApi($superUser)->patchJson(route('api.users.update', $user), [
|
||||||
|
'username' => 'test',
|
||||||
|
'company_id' => $companyB->id,
|
||||||
|
])->assertMessagesAre('error');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace Tests\Feature\Users\Ui;
|
namespace Tests\Feature\Users\Ui;
|
||||||
|
|
||||||
|
use App\Models\Asset;
|
||||||
|
use App\Models\Company;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Tests\TestCase;
|
use Tests\TestCase;
|
||||||
|
|
||||||
|
@ -79,4 +81,34 @@ class UpdateUserTest extends TestCase
|
||||||
|
|
||||||
$this->assertEquals(1, $admin->refresh()->activated);
|
$this->assertEquals(1, $admin->refresh()->activated);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testMultiCompanyUserCannotBeMovedIfHasAsset()
|
||||||
|
{
|
||||||
|
$this->settings->enableMultipleFullCompanySupport();
|
||||||
|
|
||||||
|
$companyA = Company::factory()->create();
|
||||||
|
$companyB = Company::factory()->create();
|
||||||
|
|
||||||
|
$user = User::factory()->create([
|
||||||
|
'company_id' => $companyA->id,
|
||||||
|
]);
|
||||||
|
$superUser = User::factory()->superuser()->create();
|
||||||
|
|
||||||
|
$asset = Asset::factory()->create();
|
||||||
|
|
||||||
|
// no assets assigned, therefore success
|
||||||
|
$this->actingAs($superUser)->put(route('users.update', $user), [
|
||||||
|
'first_name' => 'test',
|
||||||
|
'username' => 'test',
|
||||||
|
'company_id' => $companyB->id,
|
||||||
|
])->assertRedirect(route('users.index'));
|
||||||
|
|
||||||
|
//$asset->checkOut($user, $superUser);
|
||||||
|
|
||||||
|
// asset assigned, therefore error
|
||||||
|
//$this->actingAs($superUser)->patchJson(route('users.update', $user), [
|
||||||
|
// 'username' => 'test',
|
||||||
|
// 'company_id' => $companyB->id,
|
||||||
|
//])->assertMessagesAre('error');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue