App-perldebs

 view release on metacpan or  search on metacpan

t/features/step_definitions/basic.pl~  view on Meta::CPAN

use strict;
use warnings;

use lib 't/lib';
use Test::Helper qw(testmojo create_user testschema);
use Test::StepsHelper
  qw(a_login_request_with_invalid_credentials get_result api_base );
use Test::Net::LDAP::Util qw(ldap_mockify);

use Test::More;
use Test::BDD::Cucumber::StepFile;

use Carp;
use Gina::Service::Authentication;

my $t = testmojo();

t/features/step_definitions/basic.pl~  view on Meta::CPAN

};

Given qr{there is an existing user} => sub {
    my $context = shift;
    ldap_mockify {
        create_user( context => $context );
    };
};

When qr{the client tries to login without providing a user name} => sub {
    my $request = a_login_request_with_invalid_credentials();
    delete $request->{username};
    $t->post_ok( $route => $accept_header => json => $request );
};

When qr{the client tries to login without providing a password} => sub {
    my $request = a_login_request_with_invalid_credentials();
    delete $request->{password};
    $t->post_ok( $route => $accept_header => json => $request );
};

When
qr{the client tries to log in providing correct password for this existing user}
  => sub {
    my $request = a_login_request_with_invalid_credentials();
    $request->{username} = C->stash->{scenario}->{username};
    $request->{password} = C->stash->{scenario}->{password};

    # deep within this login there's a bind() which we have to mock
    ldap_mockify {
      $t->post_ok( $route => $accept_header => json => $request );
    }
  };

When qr{the client tries to login providing name of non-existing user} => sub {
    my $request = a_login_request_with_invalid_credentials();
    $request->{username} = 'I do not exist';
    $t->post_ok( $route => $accept_header => json => $request );
};

When
  qr{the client tries to log in providing wrong password for this existing user}
  => sub {
    my $password       = C->stash->{scenario}->{password};
    my $wrong_password = $password . $password;
    my $request        = {



( run in 0.443 second using v1.01-cache-2.11-cpan-4d50c553e7e )