Dancer2-Plugin-DataTransposeValidator

 view release on metacpan or  search on metacpan

t/plugin.t  view on Meta::CPAN

#!perl
use strict;
use warnings;

BEGIN {
    $ENV{DANCER_CONFDIR} = 't';
}

use Test::More import => ['!pass'];
use Test::Deep;
use Test::Fatal;
use lib 't/lib';

use HTTP::Request::Common;
use JSON::MaybeXS;
use Plack::Builder;
use Plack::Test;

{

    package TestAppNoConfig;

    use Dancer2;
    use Dancer2::Plugin::DataTransposeValidator;

    set engines => { serializer => { JSON => { convert_blessed => 1 } } };

    get '/' => sub {
        return "home";
    };

    post '/default' => sub {
        my $params = params;
        my $data = validator( $params, 'rules1' );
        send_as JSON => $data;
    };

    post '/coderef1' => sub {
        my $params = params;
        my $data   = validator( $params, 'coderef1', 'String' );
        send_as JSON => $data;
    };

    post '/coderef2' => sub {
        my $params = params;
        my $data   = validator( $params, 'coderef1', 'EmailValid' );
        send_as JSON => $data;
    };

}

{

    package TestAppClass;

    use Dancer2;

    BEGIN {
        set plugins => {
            DataTransposeValidator => {
                rules_class => 'TestRules',
            }
        };
    }
    use Dancer2::Plugin::DataTransposeValidator;
    set engines => { serializer => { JSON => { convert_blessed => 1 } } };

    get '/rules/:name' => sub {
        my $name = route_parameters->get('name');

        # pass foo vaildator to avoid unitialized warnings



( run in 1.186 second using v1.01-cache-2.11-cpan-54e63673c56 )