blob: 4457048bf6b22154ce53df98bbad8a4200299a64 [file] [log] [blame]
use Mojolicious::Lite;
use Test::More tests => 17;
use Mojolicious::Controller;
use_ok('Kalamar::Request');
my $req = Kalamar::Request->new(
url => 'http://www.example.com',
method => 'POST',
controller => Mojolicious::Controller->new
)->param('x', 'y');
is($req->method, 'POST');
is($req->url, 'http://www.example.com');
ok($req->controller);
is_deeply($req->param, ['x','y'], 'Compare');
my $err;
$req->start->catch(
sub {
$err = shift
})->finally(
sub {
is($err,'No useragent defined','Error');
})->wait;
my $c = $req->controller;
$c->app(app);
ok($req->controller(undef),'Set controller');
$req->start->catch(
sub {
$err = shift
})->finally(
sub {
is($err,'No controller defined','Error');
})->wait;
ok($req->url(undef),'Set URL');
$req->start->catch(
sub {
$err = shift
})->finally(
sub {
is($err,'No URL defined','Error');
})->wait;
put '/test' => sub {
shift->render(text => 'Hallo')
};
# Set UA
ok($req->ua(Mojo::UserAgent->new));
$req->ua->server->app->log->level('fatal');
ok($req->controller($c));
ok($req->method('put'));
ok($req->url('/test'));
ok($req->param(undef));
$err = undef;
$req->start->then(
sub {
my $tx = shift;
is($tx->res->body,'Hallo');
})->catch(
sub {
$err = shift;
})->finally(
sub {
ok(!$err);
})->wait;
done_testing;
__END__
1;