'Link A', 'link' => '/to/a', 'icon' => 'fa-book', 'new-tab' => true, ]); $this->actAs('normal') ->get('/user') ->assertSee('Link A') ->assertSee('/to/a') ->assertSee('target="_blank"') ->assertSee('fa-book'); // Out of bound Hook::addMenuItem('user', 10, [ 'title' => 'Link B', 'link' => '/to/b', 'icon' => 'fa-book', ]); $this->actAs('normal') ->get('/user') ->assertSee('Link B') ->assertSee('/to/b'); } public function testAddRoute() { Hook::addRoute(function ($route) { $route->any('/test-hook', function () { }); }); event(new \App\Events\ConfigureRoutes(resolve(\Illuminate\Routing\Router::class))); $this->get('/test-hook')->assertSuccessful(); } public function testRegisterPluginTransScripts() { Hook::registerPluginTransScripts('fake-plugin-with-i18n', ['/']); $this->get('/')->assertSee('fake-plugin-with-i18n/lang/en/locale.js'); $this->get('/skinlib')->assertDontSee('fake-plugin-with-i18n/lang/en/locale.js'); } public function testAddStyleFileToPage() { Hook::addStyleFileToPage('/style/all'); $this->get('/') ->assertSee(''); Hook::addStyleFileToPage('/style/pattern', ['skinlib']); $this->get('/') ->assertDontSee(''); $this->get('/skinlib') ->assertSee(''); } public function testAddScriptFileToPage() { Hook::addScriptFileToPage('/script/all'); $this->get('/') ->assertSee(''); Hook::addScriptFileToPage('/script/pattern', ['skinlib']); $this->get('/') ->assertDontSee(''); $this->get('/skinlib') ->assertSee(''); } public function testAddUserBadge() { Hook::addUserBadge('hi', 'green'); $this->actAs('normal') ->get('/user') ->assertSee('hi'); } public function testSendNotification() { $user = factory(User::class)->create(); Hook::sendNotification([$user], 'Ibara Mayaka'); $this->actingAs($user) ->get('/user') ->assertSee('1') ->assertSee('Ibara Mayaka'); } public function testPushMiddleware() { Hook::pushMiddleware(get_class(new class { public function handle($request, $next) { $response = $next($request); $response->header('X-Middleware-Test', 'value'); return $response; } })); $this->get('/')->assertHeader('X-Middleware-Test'); } }