From 66d36242fd081afbee3e7f13daa2576a448a6c8a Mon Sep 17 00:00:00 2001 From: JT Smith Date: Sat, 20 Sep 2008 05:55:18 +0000 Subject: [PATCH] More tests --- t/Crud.t | 43 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/t/Crud.t b/t/Crud.t index 4f6a7c4e2..c300e428c 100644 --- a/t/Crud.t +++ b/t/Crud.t @@ -28,7 +28,7 @@ my $session = WebGUI::Test->session; #---------------------------------------------------------------------------- # Tests -plan tests => 11; # Increment this number for each test you create +plan tests => 29; # Increment this number for each test you create #---------------------------------------------------------------------------- @@ -49,10 +49,43 @@ is($col, 'lastUpdated', "structure: lastUpdated name"); is($type, 'datetime', "structure: lastUpdated type"); $sth->finish; -my $crud = WebGUI::Crud->create($session); -isa_ok($crud, "WebGUI::Crud", "isa WebGUI::Crud"); -like($crud->get('dateCreated'), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, "dateCreated looks like a date"); -like($crud->get('lastUpdated'), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, "lastUpdated looks like a date"); +# check data +my $record1 = WebGUI::Crud->create($session); +isa_ok($record1, "WebGUI::Crud", "isa WebGUI::Crud"); +like($record1->get('dateCreated'), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, "dateCreated looks like a date"); +like($record1->get('lastUpdated'), qr/\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}/, "lastUpdated looks like a date"); +like($record1->get('sequenceNumber'), qr/\d+/, "sequenceNumber looks like a number"); +is($record1->get('sequenceNumber'), 1, "record 1 sequenceNumber is 1"); +like($record1->get('id'), qr/[A-Za-z0-9_-]{22}/, "id looks like a guid"); + +# instanciation +my $record2 = WebGUI::Crud->create($session); +isnt($record1->getId, $record2->getId, "can retrieve unique rows"); +my $copyOfRecord2 = WebGUI::Crud->new($session, $record2->getId); +is($record2->getId, $copyOfRecord2->getId, "can reinstanciate record"); + +# sequencing +is($record2->get('sequenceNumber'), 2, "record 1 sequenceNumber is 2"); +my $record3 = WebGUI::Crud->create($session); +is($record3->get('sequenceNumber'), 3, "record 1 sequenceNumber is 3"); +my $record4 = WebGUI::Crud->create($session); +is($record4->get('sequenceNumber'), 4, "record 1 sequenceNumber is 4"); +ok($record4->demote, "demotion reports success"); +is($record4->get('sequenceNumber'), 4, "can't demote further than end"); +ok($record1->promote, "promotion reports success"); +is($record1->get('sequenceNumber'), 1, "can't promote further than beginning"); +$record4->promote; +is($record4->get('sequenceNumber'), 3, "promotion from end works"); +$record4->demote; +is($record4->get('sequenceNumber'), 4, "demotion to end works"); +$record1->demote; +is($record1->get('sequenceNumber'), 2, "demotion from beginning works"); +$record1->promote; +is($record1->get('sequenceNumber'), 1, "promotion to beginning works"); +$record2->demote; +is($record2->get('sequenceNumber'), 3, "demotion from middle works"); +$record2->promote; +is($record2->get('sequenceNumber'), 2, "promotion from middle works"); #----------------------------------------------------------------------------