Add tests for database defined groups to Group.t
Clear cache on set of databaseLinkId or dbQuery in WebGUI::Group.pm. Fix typos, missing module use lines and extra variables in WebGUI::User.pm.
This commit is contained in:
parent
03c79ce1d0
commit
c802e4ddad
3 changed files with 28 additions and 6 deletions
21
t/Group.t
21
t/Group.t
|
|
@ -18,7 +18,7 @@ use WebGUI::Utility;
|
|||
|
||||
use WebGUI::User;
|
||||
use WebGUI::Group;
|
||||
use Test::More tests => 68; # increment this value for each test you create
|
||||
use Test::More tests => 78; # increment this value for each test you create
|
||||
use Test::Deep;
|
||||
|
||||
my $session = WebGUI::Test->session;
|
||||
|
|
@ -161,7 +161,7 @@ ok($gX->userIsAdmin($user->userId), "userIsAdmin: Dude set to be group admin for
|
|||
|
||||
sleep 5;
|
||||
$expireTime = time() + $expireOffset - $gX->userGroupExpireDate($user->userId) ;
|
||||
ok( ($expireTime < 6 && $expireTime > 0), 'userGroupExpireDate: Default expire time ages');
|
||||
ok( ($expireTime < 7 && $expireTime > 0), 'userGroupExpireDate: Default expire time ages');
|
||||
|
||||
$gX->addUsers([$user->userId]);
|
||||
my $expireTime = abs($gX->userGroupExpireDate($user->userId) - $expireOffset - time());
|
||||
|
|
@ -216,10 +216,27 @@ foreach my $mob (@mob) {
|
|||
$sth->execute([ $mob->userId ]);
|
||||
}
|
||||
|
||||
ok( !$mob[0]->isInGroup($gY->getId), 'mob[0] is not in group Z');
|
||||
|
||||
my $mobUsers = $session->db->buildArrayRef('select userId from myUserTable');
|
||||
|
||||
cmp_bag($mobUsers, [map {$_->userId} @mob], 'verify SQL table built correctly');
|
||||
|
||||
is( $gY->databaseLinkId, 0, "Group Y's databaseLinkId is set to WebGUI");
|
||||
$gY->dbQuery(q!select 1 from myUserTable where userId='^#();'!);
|
||||
is( $session->stow->get('isInGroup'), undef, 'setting dbQuery clears cached isInGroup');
|
||||
|
||||
$session->user({userId => $mob[0]->userId});
|
||||
is( $session->user->userId, $mob[0]->userId, 'mob[0] set to be current user');
|
||||
is( $session->stow->get('isInGroup'), undef, 'isInGroup cache still cleared');
|
||||
is( $gY->session->stow->get('isInGroup'), undef, 'group Y copy of isInGroup cache cleared, too');
|
||||
is( $mob[0]->session->stow->get('isInGroup'), undef, 'mob[0] copy of isInGroup cache cleared, too');
|
||||
$session->errorHandler->warn('checking mob[0] group membership');
|
||||
is( $mob[0]->isInGroup($gY->getId), 1, 'mob[0] is in group Y after setting dbQuery');
|
||||
$session->user({userId => $mob[1]->userId});
|
||||
is( $mob[0]->isInGroup($gZ->getId), 1, 'mob[0] is not in group Z');
|
||||
is( $mob[0]->isInGroup($gZ->getId,1), 1, 'mob[0] is in group Z');
|
||||
|
||||
END {
|
||||
(defined $gX and ref $gX eq 'WebGUI::Group') and $gX->delete;
|
||||
(defined $gY and ref $gY eq 'WebGUI::Group') and $gY->delete;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue