use BookStack\Role;
use BookStack\User;
use Exception;
+use BookStack\Services\ImageService;
class UserRepo
{
protected $user;
protected $role;
protected $entityRepo;
+ protected $imageService;
/**
* UserRepo constructor.
* @param Role $role
* @param EntityRepo $entityRepo
*/
- public function __construct(User $user, Role $role, EntityRepo $entityRepo)
+ public function __construct(User $user, Role $role, EntityRepo $entityRepo, ImageService $imageService)
{
$this->user = $user;
$this->role = $role;
$this->entityRepo = $entityRepo;
+ $this->imageService = $imageService;
}
/**
{
$user->socialAccounts()->delete();
$user->delete();
+
+ // Deleting User profile pics
+ $profilePic = $user->image_id ? $user->avatar->findOrFail($user->image_id) : FALSE;
+ if ($profilePic) {
+ $this->imageService->destroyImage($profilePic);
+ }
}
/**
->visit('/books')
->pageHasElement('.featured-image-container');
}
+
+ public function test_user_delete()
+ {
+ $newUser = $this->getNewBlankUser();
+ $this->actingAs($newUser);
+ $this->asAdmin()->visit('/settings/users/' . $newUser->id . '/delete')
+ ->see('Delete User')
+ ->press('Confirm')
+ ->seePageIs('/settings/users/')
+ ->see('USERS')->see('ADD NEW USER');
+
+ $this->dontSeeInDatabase('images', [
+ 'id' => $newUser->image_id
+ ]);
+ }
}