mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 16:22:14 +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
|
* Get user details
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return UserResource
|
* @return UserResource
|
||||||
*/
|
*/
|
||||||
public function details($id)
|
public function details(User $user)
|
||||||
{
|
{
|
||||||
return new UserResource(
|
return new UserResource(
|
||||||
User::findOrFail($id)
|
$user
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get user storage details
|
* Get user storage details
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return UserStorageResource
|
* @return UserStorageResource
|
||||||
*/
|
*/
|
||||||
public function storage($id)
|
public function storage(User $user)
|
||||||
{
|
{
|
||||||
return new UserStorageResource(
|
return new UserStorageResource(
|
||||||
User::findOrFail($id)
|
$user
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get user storage details
|
* Get user storage details
|
||||||
*
|
*
|
||||||
|
* @param User $user
|
||||||
* @return InvoiceCollection
|
* @return InvoiceCollection
|
||||||
*/
|
*/
|
||||||
public function invoices($id)
|
public function invoices(User $user)
|
||||||
{
|
{
|
||||||
return new InvoiceCollection(
|
return new InvoiceCollection(
|
||||||
$this->stripe->getUserInvoices(
|
$this->stripe->getUserInvoices(
|
||||||
User::find($id)
|
$user
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -76,13 +77,11 @@ class UserController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Get user subscription details
|
* Get user subscription details
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return UserSubscription|Application|ResponseFactory|Response
|
* @return UserSubscription|Application|ResponseFactory|Response
|
||||||
*/
|
*/
|
||||||
public function subscription($id)
|
public function subscription(User $user)
|
||||||
{
|
{
|
||||||
$user = User::find($id);
|
|
||||||
|
|
||||||
if (! $user->stripeId() || ! $user->subscription('main')) {
|
if (! $user->stripeId() || ! $user->subscription('main')) {
|
||||||
return response("User doesn't have any subscription.", 404);
|
return response("User doesn't have any subscription.", 404);
|
||||||
}
|
}
|
||||||
@@ -109,15 +108,13 @@ class UserController extends Controller
|
|||||||
* Change user role
|
* Change user role
|
||||||
*
|
*
|
||||||
* @param ChangeRoleRequest $request
|
* @param ChangeRoleRequest $request
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return UserResource
|
* @return UserResource
|
||||||
*/
|
*/
|
||||||
public function change_role(ChangeRoleRequest $request, $id)
|
public function change_role(ChangeRoleRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$user = User::findOrFail($id);
|
|
||||||
|
|
||||||
// Demo preview
|
// Demo preview
|
||||||
if (env('APP_DEMO') && $id == 1) {
|
if (env('APP_DEMO') && $user->id == 1) {
|
||||||
return new UserResource($user);
|
return new UserResource($user);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,35 +122,39 @@ class UserController extends Controller
|
|||||||
$user->role = $request->input('attributes.role');
|
$user->role = $request->input('attributes.role');
|
||||||
$user->save();
|
$user->save();
|
||||||
|
|
||||||
return new UserResource($user);
|
return new UserResource(
|
||||||
|
$user
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change user storage capacity
|
* Change user storage capacity
|
||||||
*
|
*
|
||||||
* @param ChangeStorageCapacityRequest $request
|
* @param ChangeStorageCapacityRequest $request
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return UserStorageResource
|
* @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
|
* Send user password reset link
|
||||||
*
|
*
|
||||||
* @param $id
|
* @param User $user
|
||||||
* @return ResponseFactory|Response
|
* @return ResponseFactory|Response
|
||||||
*/
|
*/
|
||||||
public function reset_password($id)
|
public function reset_password(User $user)
|
||||||
{
|
{
|
||||||
$user = User::findOrFail($id);
|
|
||||||
|
|
||||||
// Demo preview
|
// Demo preview
|
||||||
if (env('APP_DEMO')) {
|
if (env('APP_DEMO')) {
|
||||||
return response('Done!', 204);
|
return response('Done!', 204);
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ Route::group(['prefix' => 'dashboard'], function () {
|
|||||||
|
|
||||||
// Users
|
// Users
|
||||||
Route::group(['prefix' => 'users'], function () {
|
Route::group(['prefix' => 'users'], function () {
|
||||||
Route::post('/{id}/reset-password', [UserController::class, 'reset_password']);
|
Route::patch('/{user}/capacity', [UserController::class, 'change_storage_capacity']);
|
||||||
Route::patch('/{id}/capacity', [UserController::class, 'change_storage_capacity']);
|
Route::post('/{user}/reset-password', [UserController::class, 'reset_password']);
|
||||||
Route::get('/{id}/subscription', [UserController::class, 'subscription']);
|
Route::get('/{user}/subscription', [UserController::class, 'subscription']);
|
||||||
Route::delete('/{id}/delete', [UserController::class, 'delete_user']);
|
Route::delete('/{user}/delete', [UserController::class, 'delete_user']);
|
||||||
Route::patch('/{id}/role', [UserController::class, 'change_role']);
|
Route::patch('/{user}/role', [UserController::class, 'change_role']);
|
||||||
Route::get('/{id}/invoices', [UserController::class, 'invoices']);
|
Route::get('/{user}/invoices', [UserController::class, 'invoices']);
|
||||||
Route::get('/{id}/storage', [UserController::class, 'storage']);
|
Route::get('/{user}/storage', [UserController::class, 'storage']);
|
||||||
|
Route::get('/{user}/detail', [UserController::class, 'details']);
|
||||||
Route::post('/create', [UserController::class, 'create_user']);
|
Route::post('/create', [UserController::class, 'create_user']);
|
||||||
Route::get('/{id}/detail', [UserController::class, 'details']);
|
|
||||||
Route::get('/', [UserController::class, 'users']);
|
Route::get('/', [UserController::class, 'users']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -220,4 +220,51 @@ class AdminTest extends TestCase
|
|||||||
|
|
||||||
Notification::assertTimesSent(1, ResetPassword::class);
|
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()
|
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()
|
public function it_get_user_invoices_from_admin()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class UserAccountTest extends TestCase
|
|||||||
])->assertStatus(204);
|
])->assertStatus(204);
|
||||||
|
|
||||||
Storage::disk('local')
|
Storage::disk('local')
|
||||||
->assertExists($user->settings->avatar);
|
->assertExists($user->settings->getRawOriginal('avatar'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user