View | Details | Raw Unified | Return to bug 30624
Collapse All | Expand All

(-)a/t/db_dependent/Auth.t (-3 / +41 lines)
Lines 41-47 $schema->storage->txn_begin; Link Here
41
41
42
subtest 'checkauth() tests' => sub {
42
subtest 'checkauth() tests' => sub {
43
43
44
    plan tests => 6;
44
    plan tests => 7;
45
45
46
    my $patron = $builder->build_object({ class => 'Koha::Patrons', value => { flags => undef } });
46
    my $patron = $builder->build_object({ class => 'Koha::Patrons', value => { flags => undef } });
47
47
Lines 260-267 subtest 'checkauth() tests' => sub { Link Here
260
        is( $auth_status, 'ok', 'User waiting for 2FA setup, pref was disabled, access OK' );
260
        is( $auth_status, 'ok', 'User waiting for 2FA setup, pref was disabled, access OK' );
261
    };
261
    };
262
262
263
    C4::Context->_new_userenv; # For next tests
263
    subtest 'loggedinlibrary permission tests' => sub {
264
265
        plan tests => 3;
266
        my $staff_user = $builder->build_object(
267
            { class => 'Koha::Patrons', value => { flags => 536870916 } } );
264
268
269
        my $branch = $builder->build_object({ class => 'Koha::Libraries' });
270
271
        my $password = 'password';
272
        t::lib::Mocks::mock_preference( 'RequireStrongPassword', 0 );
273
        $staff_user->set_password( { password => $password } );
274
        my $cgi = Test::MockObject->new();
275
        $cgi->mock( 'cookie', sub { return; } );
276
        $cgi->mock(
277
            'param',
278
            sub {
279
                my ( $self, $param ) = @_;
280
                if    ( $param eq 'userid' )   { return $staff_user->userid; }
281
                elsif ( $param eq 'password' ) { return $password; }
282
                elsif ( $param eq 'branch' )   { return $branch->branchcode; }
283
                else                           { return; }
284
            }
285
        );
286
287
        $cgi->mock( 'request_method', sub { return 'POST' } );
288
        my ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 'authrequired' );
289
        my $sesh = C4::Auth::get_session($sessionID);
290
        is( $sesh->param('branch'), $branch->branchcode, "If user has permission, they should be able to choose a branch" );
291
292
        $staff_user->flags(4)->store->discard_changes;
293
        ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 'authrequired' );
294
        $sesh = C4::Auth::get_session($sessionID);
295
        is( $sesh->param('branch'), $staff_user->branchcode, "If user has not permission, they should not be able to choose a branch" );
296
297
        $staff_user->flags(1)->store->discard_changes;
298
        ( $userid, $cookie, $sessionID, $flags ) = C4::Auth::checkauth( $cgi, 'authrequired' );
299
        $sesh = C4::Auth::get_session($sessionID);
300
        is( $sesh->param('branch'), $branch->branchcode, "If user is superlibrarian, they should be able to choose a branch" );
301
302
    };
303
    C4::Context->_new_userenv; # For next tests
265
};
304
};
266
305
267
subtest 'track_login_daily tests' => sub {
306
subtest 'track_login_daily tests' => sub {
268
- 

Return to bug 30624