Change cache strategy for User.t. Fix setRow in SQL.pm to accept overrides in row identifiers.

This commit is contained in:
Colin Kuskie 2010-05-06 15:50:43 -07:00
parent 1c4ea8eacd
commit 7032e86cf1
3 changed files with 9 additions and 8 deletions

View file

@ -962,9 +962,8 @@ Use this ID to create a new row. Same as setting the key value to "new" except t
sub setRow { sub setRow {
my ($self, $table, $keyColumn, $data, $id) = @_; my ($self, $table, $keyColumn, $data, $id) = @_;
$data->{$keyColumn} ||= $id; if ($data->{$keyColumn} eq "new" || $id) {
if ($data->{$keyColumn} eq "new") { $data->{$keyColumn} = $id || $self->session->id->generate();
$data->{$keyColumn} = $self->session->id->generate();
} }
my $dbh = $self->dbh; my $dbh = $self->dbh;
my @fields = (); my @fields = ();

View file

@ -17,7 +17,7 @@ use WebGUI::Session;
use Data::Dumper; use Data::Dumper;
use Test::Deep; 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; my $session = WebGUI::Test->session;
@ -145,6 +145,8 @@ my $setRowId = $session->db->setRow("incrementer","incrementerId",{incrementerId
ok($setRowId ne "", "setRow() - return ID"); ok($setRowId ne "", "setRow() - return ID");
my ($setRowResult) = $session->db->quickArray("select nextValue from incrementer where incrementerId=".$session->db->quote($setRowId)); my ($setRowResult) = $session->db->quickArray("select nextValue from incrementer where incrementerId=".$session->db->quote($setRowId));
is($setRowResult, 47, "setRow() - set data"); 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 # getRow
my $getRow = $session->db->getRow("incrementer","incrementerId",$setRowId); my $getRow = $session->db->getRow("incrementer","incrementerId",$setRowId);

View file

@ -15,7 +15,6 @@ use lib "$FindBin::Bin/lib";
use WebGUI::Test; use WebGUI::Test;
use WebGUI::Session; use WebGUI::Session;
use WebGUI::Utility; use WebGUI::Utility;
use WebGUI::Cache;
#use Exception::Class; #use Exception::Class;
use WebGUI::User; use WebGUI::User;
@ -28,8 +27,9 @@ use Data::Dumper;
my $session = WebGUI::Test->session; my $session = WebGUI::Test->session;
my $testCache = WebGUI::Cache->new($session, 'myTestKey'); #my $testCache = WebGUI::Cache->new($session, 'myTestKey');
$testCache->flush; #$testCache->flush;
$session->cache->remove('myTestKey');
my $user; my $user;
my $lastUpdate; my $lastUpdate;
@ -1063,6 +1063,6 @@ END {
$newProfileField->delete() if $newProfileField; $newProfileField->delete() if $newProfileField;
$testCache->flush; $session->cache->delete('myTestKey');
} }