From 31139678eed4f064e349be03f7ea23eaa26feef3 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Sat, 24 Feb 2007 00:37:55 +0000 Subject: [PATCH] Corner cases for User.pm coverage Converted 2 more queries to use placeholders --- lib/WebGUI/User.pm | 6 +++--- t/User.t | 26 ++++++++++++++++++-------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/lib/WebGUI/User.pm b/lib/WebGUI/User.pm index 6fe0a86ef..03879e51b 100644 --- a/lib/WebGUI/User.pm +++ b/lib/WebGUI/User.pm @@ -388,7 +388,7 @@ sub new { %user = $session->db->quickHash("select * from users where userId=?",[$userId]); my %profile = $session->db->buildHash("select userProfileField.fieldName, userProfileData.fieldData from userProfileField, userProfileData where userProfileField.fieldName=userProfileData.fieldName and - userProfileData.userId=".$session->db->quote($user{userId})); + userProfileData.userId=?",[$user{userId}]); my %default = $session->db->buildHash("select fieldName, dataDefault from userProfileField"); foreach my $key (keys %default) { my $value; @@ -582,8 +582,8 @@ sub username { $self->uncache; $self->{_user}{"username"} = $value; $self->{_user}{"lastUpdated"} = $self->session->datetime->time(); - $self->session->db->write("update users set username=".$self->session->db->quote($value).", - lastUpdated=".$self->session->datetime->time()." where userId=".$self->session->db->quote($self->userId)); + $self->session->db->write("update users set username=?, lastUpdated=? where userId=?", + [$value, $self->session->datetime->time(), $self->userId]); } return $self->{_user}{"username"}; } diff --git a/t/User.t b/t/User.t index 6ae4db2ec..28ec839bc 100644 --- a/t/User.t +++ b/t/User.t @@ -18,7 +18,7 @@ use WebGUI::Utility; use WebGUI::Cache; use WebGUI::User; -use Test::More tests => 90; # increment this value for each test you create +use Test::More tests => 93; # increment this value for each test you create my $session = WebGUI::Test->session; @@ -83,8 +83,16 @@ cmp_ok(abs($user->lastUpdated-$lastUpdate), '<=', 1, 'lastUpdated() -- authmetho #See if date created is correct is($user->dateCreated, $userCreationTime, 'dateCreated()'); -#get/set karma +################################################################ +# +# get/set karma +# +################################################################ + my $oldKarma = $user->karma; +$user->karma('69'); +$user->karma('69', 'wonder man'); +is($user->karma, $oldKarma, 'karma() -- requires amount, source and description'); $user->karma('69', 'peter gibbons', 'test karma'); is($user->karma, $oldKarma+69, 'karma() -- get/set add amount'); @@ -261,6 +269,7 @@ $cm->ipFilter(defined $origFilter ? $origFilter : ''); ##Test for group membership $user = WebGUI::User->new($session, "new"); ok($user->isInGroup(7), "addToGroups: New user is in group 7(Everyone)"); +ok(!$user->isInGroup(1), "New user not in group 1 (Visitors)"); $user->addToGroups([3]); @@ -273,15 +282,16 @@ ok($user->isInGroup(14), "New user is in group 14(Product Managers)"); $user->deleteFromGroups([3]); ok(!$user->isInGroup(3), "deleteFromGroups: New user is not in group 3(Admin)"); -ok(!$user->isInGroup(11), "Flush cache, new user not in group 11 (Secondary Admins)"); -ok(!$user->isInGroup(12), "Flush cache, new user not in group 12 (Turn On Admin)"); -ok(!$user->isInGroup(13), "Flush cache, new user not in group 13 (Export Managers)"); -ok(!$user->isInGroup(14), "Flush cache, new user not in group 14 (Product Managers)"); +ok(!$user->isInGroup(11), "New user not in group 11 (Secondary Admins)"); +ok(!$user->isInGroup(12), "New user not in group 12 (Turn On Admin)"); +ok(!$user->isInGroup(13), "New user not in group 13 (Export Managers)"); +ok(!$user->isInGroup(14), "New user not in group 14 (Product Managers)"); $user->delete; -ok($visitor->isInGroup(1), "Visitor is a member of group Visitor"); -ok($visitor->isInGroup(7), "Visitor is a member of group Everyone"); +ok($visitor->isInGroup(1), "Visitor is a member of group Visitor"); +ok($visitor->isInGroup(7), "Visitor is a member of group Everyone"); +ok(!$visitor->isInGroup(2), "Visitor is a not member of group 2 (Registered Users)"); ##remove Visitor from those groups, and make sure we can add him back in. WebGUI::Group->new($session, '1')->deleteUsers([1]);