| package Kalamar::Plugin::Test; | 
 | use Mojo::Base 'Mojolicious::Plugin'; | 
 |  | 
 |  | 
 | sub register { | 
 |   my ($plugin, $app, $param) = @_; | 
 |  | 
 |   # Add entry to settings navigation | 
 |   $app->navi->add(settings => ( | 
 |     'OAuth Token Management', 'oauth' | 
 |   )); | 
 |  | 
 |   $app->routes->get('/settings/oauth')->to( | 
 |     cb => sub { | 
 |       my $c = shift; | 
 |       $c->content_with(settings => '<p id="abc">My Settings</p>'); | 
 |       return $c->render('settings'); | 
 |     } | 
 |   ); | 
 | }; | 
 |  | 
 | package main; | 
 | use Mojo::Base -strict; | 
 | use Test::More; | 
 | use Test::Mojo; | 
 | use Mojo::ByteStream 'b'; | 
 |  | 
 | my $t = Test::Mojo->new('Kalamar' => { | 
 |   Kalamar => { | 
 |     plugins => ['Test'] | 
 |   } | 
 | }); | 
 |  | 
 | $t->get_ok('/settings') | 
 |   ->text_is('a[href*=/settings/oauth]','OAuth Token Management') | 
 |   ->text_is('h1 span', 'Settings') | 
 |   ; | 
 |  | 
 | $t->get_ok('/settings/oauth') | 
 |   ->text_is('a[href*=/settings/oauth]','OAuth Token Management') | 
 |   ->text_is('h1 span', 'Settings') | 
 |   ->text_is('p#abc', 'My Settings') | 
 |   ; | 
 |  | 
 | done_testing; | 
 | __END__ |