Test clean-up for users and groups in Shop/Vendor and all Macro tests.

This commit is contained in:
Colin Kuskie 2009-04-30 23:57:39 +00:00
parent 9973e203ab
commit d7f2aca1e4
4 changed files with 6 additions and 12 deletions

View file

@ -65,12 +65,14 @@ my $sth = $session->db->prepare('INSERT INTO myUserTable VALUES(?)');
foreach my $mob (@mob) { foreach my $mob (@mob) {
$sth->execute([ $mob->userId ]); $sth->execute([ $mob->userId ]);
} }
WebGUI::Test->usersToDelete(@mob);
##Create the 3 groups ##Create the 3 groups
$ms_users = WebGUI::Group->new($session, "new"); $ms_users = WebGUI::Group->new($session, "new");
$ms_distributors = WebGUI::Group->new($session, "new"); $ms_distributors = WebGUI::Group->new($session, "new");
$ms_int_distributors = WebGUI::Group->new($session, "new"); $ms_int_distributors = WebGUI::Group->new($session, "new");
WebGUI::Test->groupsToDelete($ms_users, $ms_distributors, $ms_int_distributors);
$ms_users->name('MS Users'); $ms_users->name('MS Users');
$ms_distributors->name('MS Distributors'); $ms_distributors->name('MS Distributors');
@ -92,6 +94,7 @@ $ms_distributors->addGroups([$ms_int_distributors->getId]);
$disti = WebGUI::User->new($session, 'new'); $disti = WebGUI::User->new($session, 'new');
$int_disti = WebGUI::User->new($session, 'new'); $int_disti = WebGUI::User->new($session, 'new');
WebGUI::Test->usersToDelete($disti, $int_disti);
$ms_distributors->addUsers([$disti->userId]); $ms_distributors->addUsers([$disti->userId]);
$ms_int_distributors->addUsers([$int_disti->userId]); $ms_int_distributors->addUsers([$int_disti->userId]);
@ -124,11 +127,5 @@ is($output, 'user,disti,int_disti', 'user is in all three groups');
##clean up everything ##clean up everything
END { END {
foreach my $testGroup ($ms_users, $ms_distributors, $ms_int_distributors, ) {
$testGroup->delete if (defined $testGroup and ref $testGroup eq 'WebGUI::Group');
}
foreach my $dude (@mob, $disti, $int_disti, ) {
$dude->delete if (defined $dude and ref $dude eq 'WebGUI::User');
}
$session->db->dbh->do('DROP TABLE IF EXISTS myUserTable'); $session->db->dbh->do('DROP TABLE IF EXISTS myUserTable');
} }

View file

@ -51,6 +51,7 @@ plan tests => $numTests;
@testSets = setupTest($session, @testSets); @testSets = setupTest($session, @testSets);
my @users = map { $_->{user} } @testSets; my @users = map { $_->{user} } @testSets;
WebGUI::Test->usersToDelete(@users);
foreach my $testSet (@testSets) { foreach my $testSet (@testSets) {
$session->user({ userId => $testSet->{user}->userId }); $session->user({ userId => $testSet->{user}->userId });
@ -80,7 +81,4 @@ sub setupTest {
} }
END { ##Clean-up after yourself, always END { ##Clean-up after yourself, always
foreach my $dude (@users) {
$dude->delete if (defined $dude and ref $dude eq 'WebGUI::User');
}
} }

View file

@ -192,6 +192,7 @@ sub setupUsers {
my $newSession = WebGUI::Session->open(WebGUI::Test::root, WebGUI::Test::file); my $newSession = WebGUI::Session->open(WebGUI::Test::root, WebGUI::Test::file);
$newSession->user({user => $_}); $newSession->user({user => $_});
} }
WebGUI::Test->usersToDelete(@users);
return @users; return @users;
} }
@ -251,5 +252,4 @@ EOTMPL
END { ##Clean-up after yourself, always END { ##Clean-up after yourself, always
$template->purge; $template->purge;
$_->delete foreach (@users);
} }

View file

@ -45,6 +45,7 @@ my $fenceUser = WebGUI::User->new($session, 'new');
$fenceUser->username('fence'); $fenceUser->username('fence');
my $guardUser = WebGUI::User->new($session, 'new'); my $guardUser = WebGUI::User->new($session, 'new');
$guardUser->username('guard'); $guardUser->username('guard');
WebGUI::Test->usersToDelete($fenceUser, $guardUser);
SKIP: { SKIP: {
@ -312,7 +313,5 @@ undef $guard;
# Cleanup # Cleanup
END { END {
$fence->delete; $fence->delete;
$fenceUser->delete;
$guardUser->delete;
is( scalar @{ WebGUI::Shop::Vendor->getVendors($session) }, $numberOfVendors, 'No vendors leaked'); is( scalar @{ WebGUI::Shop::Vendor->getVendors($session) }, $numberOfVendors, 'No vendors leaked');
} }