NAME
Test::Mojo::Session - Testing session in Mojolicious applications
SYNOPSIS
use Mojolicious::Lite;
use Test::More;
use Test::Mojo::Session;
get '/set' => sub {
my $self = shift;
$self->session(s1 => 'session data');
$self->session(s3 => [1, 3]);
$self->render(text => 's1');
} => 'set';
my $t = Test::Mojo::Session->new;
$t->get_ok('/set')
->status_is(200)
->session_ok
->session_has('/s1')
->session_is('/s1' => 'session data')
->session_hasnt('/s2')
->session_is('/s3' => [1, 3]);
done_testing();
Use Test::Mojo::Sesssion via Test::Mojo::WithRoles.
use Mojolicious::Lite;
use Test::More;
use Test::Mojo::WithRoles 'Session';
get '/set' => sub {
my $c = shift;
$c->session(s1 => 'session data');
$c->session(s3 => [1, 3]);
$c->render(text => 's1');
} => 'set';
my $t = Test::Mojo::WithRoles->new;
$t->get_ok('/set')
->status_is(200)
->session_ok
->session_has('/s1')
->session_is('/s1' => 'session data')
->session_hasnt('/s2')
->session_is('/s3' => [1, 3]);
done_testing();
DESCRIPTION
Test::Mojo::Session is an extension for the Test::Mojo, which allows you to conveniently test session in Mojolicious applications.
METHODS
Test::Mojo::Sesssion inherits all methods from Test::Mojo and implements the following new ones.
session_has
$t = $t->session_has('/foo');
$t = $t->session_has('/foo', 'session has "foo"');
Check if current session contains a value that can be identified using the given JSON Pointer with Mojo::JSON::Pointer.
session_hasnt
$t = $t->session_hasnt('/bar');
$t = $t->session_hasnt('/bar', 'session does not has "bar"');
Check if current session no contains a value that can be identified using the given JSON Pointer with Mojo::JSON::Pointer.
session_is
$t = $t->session_is('/pointer', 'value');
$t = $t->session_is('/pointer', 'value', 'right halue');
Check the session using the given JSON Pointer with Mojo::JSON::Pointer.
session_ok
$t = $t->session_ok;
Check for existence of the session in user agent.
SEE ALSO
AUTHOR
Andrey Khozov, avkhozov@googlemail.com
.
CREDITS
Renee, reb@perl-services.de
.
COPYRIGHT AND LICENSE
Copyright (C) 2013-2015, Andrey Khozov.
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.