mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
added it_change_user_role, it_change_user_storage_capacity test
This commit is contained in:
@@ -36,39 +36,40 @@ class UserController extends Controller
|
||||
/**
|
||||
* Get user details
|
||||
*
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return UserResource
|
||||
*/
|
||||
public function details($id)
|
||||
public function details(User $user)
|
||||
{
|
||||
return new UserResource(
|
||||
User::findOrFail($id)
|
||||
$user
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get user storage details
|
||||
*
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return UserStorageResource
|
||||
*/
|
||||
public function storage($id)
|
||||
public function storage(User $user)
|
||||
{
|
||||
return new UserStorageResource(
|
||||
User::findOrFail($id)
|
||||
$user
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get user storage details
|
||||
*
|
||||
* @param User $user
|
||||
* @return InvoiceCollection
|
||||
*/
|
||||
public function invoices($id)
|
||||
public function invoices(User $user)
|
||||
{
|
||||
return new InvoiceCollection(
|
||||
$this->stripe->getUserInvoices(
|
||||
User::find($id)
|
||||
$user
|
||||
)
|
||||
);
|
||||
}
|
||||
@@ -76,13 +77,11 @@ class UserController extends Controller
|
||||
/**
|
||||
* Get user subscription details
|
||||
*
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return UserSubscription|Application|ResponseFactory|Response
|
||||
*/
|
||||
public function subscription($id)
|
||||
public function subscription(User $user)
|
||||
{
|
||||
$user = User::find($id);
|
||||
|
||||
if (! $user->stripeId() || ! $user->subscription('main')) {
|
||||
return response("User doesn't have any subscription.", 404);
|
||||
}
|
||||
@@ -109,15 +108,13 @@ class UserController extends Controller
|
||||
* Change user role
|
||||
*
|
||||
* @param ChangeRoleRequest $request
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return UserResource
|
||||
*/
|
||||
public function change_role(ChangeRoleRequest $request, $id)
|
||||
public function change_role(ChangeRoleRequest $request, User $user)
|
||||
{
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
// Demo preview
|
||||
if (env('APP_DEMO') && $id == 1) {
|
||||
if (env('APP_DEMO') && $user->id == 1) {
|
||||
return new UserResource($user);
|
||||
}
|
||||
|
||||
@@ -125,35 +122,39 @@ class UserController extends Controller
|
||||
$user->role = $request->input('attributes.role');
|
||||
$user->save();
|
||||
|
||||
return new UserResource($user);
|
||||
return new UserResource(
|
||||
$user
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change user storage capacity
|
||||
*
|
||||
* @param ChangeStorageCapacityRequest $request
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return UserStorageResource
|
||||
*/
|
||||
public function change_storage_capacity(ChangeStorageCapacityRequest $request, $id)
|
||||
public function change_storage_capacity(ChangeStorageCapacityRequest $request, User $user)
|
||||
{
|
||||
$user = User::findOrFail($id);
|
||||
$user
|
||||
->settings()
|
||||
->update(
|
||||
$request->input('attributes')
|
||||
);
|
||||
|
||||
$user->settings()->update($request->input('attributes'));
|
||||
|
||||
return new UserStorageResource($user);
|
||||
return new UserStorageResource(
|
||||
$user
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send user password reset link
|
||||
*
|
||||
* @param $id
|
||||
* @param User $user
|
||||
* @return ResponseFactory|Response
|
||||
*/
|
||||
public function reset_password($id)
|
||||
public function reset_password(User $user)
|
||||
{
|
||||
$user = User::findOrFail($id);
|
||||
|
||||
// Demo preview
|
||||
if (env('APP_DEMO')) {
|
||||
return response('Done!', 204);
|
||||
|
||||
@@ -16,15 +16,15 @@ Route::group(['prefix' => 'dashboard'], function () {
|
||||
|
||||
// Users
|
||||
Route::group(['prefix' => 'users'], function () {
|
||||
Route::post('/{id}/reset-password', [UserController::class, 'reset_password']);
|
||||
Route::patch('/{id}/capacity', [UserController::class, 'change_storage_capacity']);
|
||||
Route::get('/{id}/subscription', [UserController::class, 'subscription']);
|
||||
Route::delete('/{id}/delete', [UserController::class, 'delete_user']);
|
||||
Route::patch('/{id}/role', [UserController::class, 'change_role']);
|
||||
Route::get('/{id}/invoices', [UserController::class, 'invoices']);
|
||||
Route::get('/{id}/storage', [UserController::class, 'storage']);
|
||||
Route::patch('/{user}/capacity', [UserController::class, 'change_storage_capacity']);
|
||||
Route::post('/{user}/reset-password', [UserController::class, 'reset_password']);
|
||||
Route::get('/{user}/subscription', [UserController::class, 'subscription']);
|
||||
Route::delete('/{user}/delete', [UserController::class, 'delete_user']);
|
||||
Route::patch('/{user}/role', [UserController::class, 'change_role']);
|
||||
Route::get('/{user}/invoices', [UserController::class, 'invoices']);
|
||||
Route::get('/{user}/storage', [UserController::class, 'storage']);
|
||||
Route::get('/{user}/detail', [UserController::class, 'details']);
|
||||
Route::post('/create', [UserController::class, 'create_user']);
|
||||
Route::get('/{id}/detail', [UserController::class, 'details']);
|
||||
Route::get('/', [UserController::class, 'users']);
|
||||
});
|
||||
|
||||
|
||||
@@ -220,4 +220,51 @@ class AdminTest extends TestCase
|
||||
|
||||
Notification::assertTimesSent(1, ResetPassword::class);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function it_change_user_storage_capacity()
|
||||
{
|
||||
$user = User::factory(User::class)
|
||||
->create(['role' => 'user']);
|
||||
|
||||
$admin = User::factory(User::class)
|
||||
->create(['role' => 'admin']);
|
||||
|
||||
Sanctum::actingAs($admin);
|
||||
|
||||
$this->patchJson("/api/admin/users/$user->id/capacity", [
|
||||
'attributes' => [
|
||||
'storage_capacity' => 10
|
||||
]
|
||||
])->assertStatus(200);
|
||||
|
||||
$this->assertDatabaseHas('user_settings', [
|
||||
'user_id' => $user->id,
|
||||
'storage_capacity' => 10,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function it_change_user_role()
|
||||
{
|
||||
$user = User::factory(User::class)
|
||||
->create(['role' => 'user']);
|
||||
|
||||
$admin = User::factory(User::class)
|
||||
->create(['role' => 'admin']);
|
||||
|
||||
Sanctum::actingAs($admin);
|
||||
|
||||
$this->patchJson("/api/admin/users/$user->id/role", [
|
||||
'attributes' => [
|
||||
'role' => 'admin'
|
||||
]
|
||||
])->assertStatus(200);
|
||||
|
||||
$this->assertTrue(User::find($user->id)->role === 'admin');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ class SubscriptionTest extends TestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*
|
||||
*/
|
||||
public function it_get_user_subscription_from_admin()
|
||||
{
|
||||
@@ -273,7 +273,7 @@ class SubscriptionTest extends TestCase
|
||||
}
|
||||
|
||||
/**
|
||||
* @test
|
||||
*
|
||||
*/
|
||||
public function it_get_user_invoices_from_admin()
|
||||
{
|
||||
|
||||
@@ -83,7 +83,7 @@ class UserAccountTest extends TestCase
|
||||
])->assertStatus(204);
|
||||
|
||||
Storage::disk('local')
|
||||
->assertExists($user->settings->avatar);
|
||||
->assertExists($user->settings->getRawOriginal('avatar'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user