From ec3eebda9b2cc85a65a95b9ee0928cb1922261ea Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 7 Mar 2007 00:16:22 +0000 Subject: [PATCH] remove duplicate code in addUsers, add more tests to Group.t to cover --- lib/WebGUI/Group.pm | 1 - t/Group.t | 17 ++++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/WebGUI/Group.pm b/lib/WebGUI/Group.pm index e9c8bc3ea..4648435cc 100755 --- a/lib/WebGUI/Group.pm +++ b/lib/WebGUI/Group.pm @@ -163,7 +163,6 @@ sub addUsers { $self->clearCaches(); my $expireOffset = shift || $self->get("expireOffset"); foreach my $uid (@{$users}) { - next if ($uid eq '1' and !isIn($self->getId, 1, 7)); my ($isIn) = $self->session->db->quickArray("select count(*) from groupings where groupId=? and userId=?", [$self->getId, $uid]); unless ($isIn) { $self->session->db->write("insert into groupings (groupId,userId,expireDate) values (?,?,?)", [$self->getId, $uid, ($self->session->datetime->time()+$expireOffset)]); diff --git a/t/Group.t b/t/Group.t index ebd54b07d..89b989c78 100644 --- a/t/Group.t +++ b/t/Group.t @@ -75,7 +75,7 @@ my @ipTests = ( ); -plan tests => (137 + scalar(@scratchTests) + scalar(@ipTests)); # increment this value for each test you create +plan tests => (138 + scalar(@scratchTests) + scalar(@ipTests)); # increment this value for each test you create my $session = WebGUI::Test->session; my $testCache = WebGUI::Cache->new($session, 'myTestKey'); @@ -321,6 +321,12 @@ $user->delete; ##Build a group of users and add them to various groups to test fetching users +################################################################ +# +# addUser +# +################################################################ + my @crowd = map { WebGUI::User->new($session, "new") } 0..7; my @mob; foreach my $idx (0..2) { @@ -348,6 +354,15 @@ cmp_bag($gA->getAllUsers(), [@aUsers, @zUsers, 3], 'users in group A, recursivel cmp_bag($gC->getAllUsers(), [@cUsers, 3], 'users in group C, recursively'); cmp_bag($gZ->getAllUsers(), [@zUsers, 3], 'users in group Z, recursively'); +##User and Group specific addUser tests + +my $visitorUser = WebGUI::User->new($session, 1); + +my $everyoneGroup = WebGUI::Group->new($session, 7); +my $everyUsers = $everyoneGroup->getUsers(); +$everyoneGroup->addUsers([$visitorUser->userId]); +cmp_bag($everyUsers, $everyoneGroup->getUsers(), 'addUsers will not add a user to a group they already belong to'); + ##Database based user membership in groups $session->db->dbh->do('DROP TABLE IF EXISTS myUserTable');