diff --git a/app/Http/Controllers/UsersManagementController.php b/app/Http/Controllers/UsersManagementController.php index 8101a8c4..92cbe5c4 100644 --- a/app/Http/Controllers/UsersManagementController.php +++ b/app/Http/Controllers/UsersManagementController.php @@ -152,6 +152,10 @@ class UsersManagementController extends Controller $user->permission = $permission; $user->save(); + if ($permission === User::BANNED) { + $dispatcher->dispatch('user.banned', [$user]); + } + $dispatcher->dispatch('user.permission.updated', [$user, $old]); return json(trans('admin.users.operations.permission'), 0); diff --git a/tests/HttpTest/ControllersTest/UsersManagementControllerTest.php b/tests/HttpTest/ControllersTest/UsersManagementControllerTest.php index 5f6cd98f..2f635e04 100644 --- a/tests/HttpTest/ControllersTest/UsersManagementControllerTest.php +++ b/tests/HttpTest/ControllersTest/UsersManagementControllerTest.php @@ -288,6 +288,11 @@ class UsersManagementControllerTest extends TestCase $this->assertTrue($user->fresh()->is($payload[0])); $this->assertEquals($user->permission, $payload[1]->permission); + return true; + }); + Event::assertDispatched('user.banned', function ($eventName, $payload) use ($user) { + $this->assertTrue($user->fresh()->is($payload[0])); + return true; }); }