From 7032e86cf120938e24f7aadce95ea959fae13205 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 6 May 2010 15:50:43 -0700 Subject: [PATCH] Change cache strategy for User.t. Fix setRow in SQL.pm to accept overrides in row identifiers. --- lib/WebGUI/SQL.pm | 5 ++--- t/SQL.t | 4 +++- t/User.t | 8 ++++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/WebGUI/SQL.pm b/lib/WebGUI/SQL.pm index b13d5a165..dadc180a4 100644 --- a/lib/WebGUI/SQL.pm +++ b/lib/WebGUI/SQL.pm @@ -962,9 +962,8 @@ Use this ID to create a new row. Same as setting the key value to "new" except t sub setRow { my ($self, $table, $keyColumn, $data, $id) = @_; - $data->{$keyColumn} ||= $id; - if ($data->{$keyColumn} eq "new") { - $data->{$keyColumn} = $self->session->id->generate(); + if ($data->{$keyColumn} eq "new" || $id) { + $data->{$keyColumn} = $id || $self->session->id->generate(); } my $dbh = $self->dbh; my @fields = (); diff --git a/t/SQL.t b/t/SQL.t index 483ea065e..8bef9a44e 100644 --- a/t/SQL.t +++ b/t/SQL.t @@ -17,7 +17,7 @@ use WebGUI::Session; use Data::Dumper; use Test::Deep; -use Test::More tests => 56; # increment this value for each test you create +use Test::More tests => 57; # increment this value for each test you create my $session = WebGUI::Test->session; @@ -145,6 +145,8 @@ my $setRowId = $session->db->setRow("incrementer","incrementerId",{incrementerId ok($setRowId ne "", "setRow() - return ID"); my ($setRowResult) = $session->db->quickArray("select nextValue from incrementer where incrementerId=".$session->db->quote($setRowId)); is($setRowResult, 47, "setRow() - set data"); +is $session->db->setRow("incrementer", "incrementerId",{incrementerId=>'new', nextValue => 48}, 'oogeyBoogeyBoo'), + 'oogeyBoogeyBoo', 'overriding default id with a custom one'; # getRow my $getRow = $session->db->getRow("incrementer","incrementerId",$setRowId); diff --git a/t/User.t b/t/User.t index 272d2d196..47d438616 100644 --- a/t/User.t +++ b/t/User.t @@ -15,7 +15,6 @@ use lib "$FindBin::Bin/lib"; use WebGUI::Test; use WebGUI::Session; use WebGUI::Utility; -use WebGUI::Cache; #use Exception::Class; use WebGUI::User; @@ -28,8 +27,9 @@ use Data::Dumper; my $session = WebGUI::Test->session; -my $testCache = WebGUI::Cache->new($session, 'myTestKey'); -$testCache->flush; +#my $testCache = WebGUI::Cache->new($session, 'myTestKey'); +#$testCache->flush; +$session->cache->remove('myTestKey'); my $user; my $lastUpdate; @@ -1063,6 +1063,6 @@ END { $newProfileField->delete() if $newProfileField; - $testCache->flush; + $session->cache->delete('myTestKey'); }