From c839ab3c0ad44e59233bf4960561eaa75d47fbd4 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 19 Dec 2007 20:51:56 +0000 Subject: [PATCH] Make sure that all Assets are created inside of capturable version tags so they can be cleaned up at the end of the test. --- t/Asset/File/Image/Photo/permissions.t | 76 +++++++++++++++++++++----- 1 file changed, 62 insertions(+), 14 deletions(-) diff --git a/t/Asset/File/Image/Photo/permissions.t b/t/Asset/File/Image/Photo/permissions.t index 75598deee..3e865b44a 100644 --- a/t/Asset/File/Image/Photo/permissions.t +++ b/t/Asset/File/Image/Photo/permissions.t @@ -24,10 +24,14 @@ use Test::More; # Init my $session = WebGUI::Test->session; my $node = WebGUI::Asset->getImportNode($session); -my $versionTag = WebGUI::VersionTag->getWorking($session); -$versionTag->set({name=>"Photo Test"}); -my ($photo); +my @versionTags = (); + +$session->errorHandler->warn('GOOD STUFF HERE'); $session->user({ userId => 3 }); +push @versionTags, WebGUI::VersionTag->getWorking($session); +$versionTags[-1]->set({name=>"Photo Test, add Gallery, Album and 1 Photo"}); + +diag $versionTags[-1]->getId; my $friend = WebGUI::User->new($session, "new"); WebGUI::Friends->new($session)->add( [ $friend->userId ] ); @@ -39,37 +43,44 @@ my $gallery groupIdEdit => "3", ownerUserId => $session->user->userId, }); + my $album = $gallery->addChild({ className => "WebGUI::Asset::Wobject::GalleryAlbum", groupIdView => "", groupIdEdit => "", ownerUserId => $session->user->userId, + }, + '', + 0, + { + skipAutoCommitWorkflows => 1, }); - -#---------------------------------------------------------------------------- -# Cleanup -END { - WebGUI::Friends->new($session)->delete( [ $friend->userId ] ); - $friend->delete; - $versionTag->rollback; -} - #---------------------------------------------------------------------------- # Tests -plan no_plan => 1; +plan tests => 28; #---------------------------------------------------------------------------- # Everyone can view, Admins can edit, Owned by current user -$photo + +my $photo = $album->addChild({ className => "WebGUI::Asset::File::Image::Photo", groupIdView => "7", groupIdEdit => "3", ownerUserId => $session->user->userId, + }, + '', + 0, + { + skipAutoCommitWorkflows => 1, }); +diag $photo->get('tagId'); + +$versionTags[-1]->commit; + ok( $photo->canView(1), "Visitor can view" ); ok( !$photo->canEdit(1), "Visitor cannot edit" ); ok( $photo->canView(2), "Registered users can view" ); @@ -81,13 +92,21 @@ ok( $photo->canEdit, "Current user can edit" ); # Admins can view, Admins can edit, Owned by Admin, current user is Visitor my $oldUser = $session->user; $session->user( { user => WebGUI::User->new($session, "1") } ); +push @versionTags, WebGUI::VersionTag->getWorking($session); +$versionTags[-1]->set({name=>"Adding new photo"}); $photo = $album->addChild({ className => "WebGUI::Asset::File::Image::Photo", groupIdView => "3", groupIdEdit => "3", ownerUserId => "3", + }, + '', + 0, + { + skipAutoCommitWorkflows => 1, }); +$versionTags[-1]->commit; ok( !$photo->canView, "Visitors cannot view" ); ok( !$photo->canEdit, "Visitors cannot edit" ); @@ -99,13 +118,21 @@ $session->user( { user => $oldUser } ); #---------------------------------------------------------------------------- # Photo without specific view/edit inherits from gallery properties +push @versionTags, WebGUI::VersionTag->getWorking($session); +$versionTags[-1]->set({name=>"Adding new photo #2"}); $photo = $album->addChild({ className => "WebGUI::Asset::File::Image::Photo", groupIdView => "", groupIdEdit => "", ownerUserId => $session->user->userId, + }, + '', + 0, + { + skipAutoCommitWorkflows => 1, }); +$versionTags[-1]->commit; ok( $photo->canView(1), "Visitors can view" ); ok( !$photo->canEdit(1), "Visitors cannot edit" ); @@ -118,12 +145,20 @@ ok( $photo->canEdit(3), "Admin can edit" ); #---------------------------------------------------------------------------- # Friends are allowed to view friendsOnly photos +push @versionTags, WebGUI::VersionTag->getWorking($session); +$versionTags[-1]->set({name=>"Adding new photo #3"}); $photo = $album->addChild({ className => "WebGUI::Asset::File::Image::Photo", groupIdEdit => "", ownerUserId => $session->user->userId, + }, + '', + 0, + { + skipAutoCommitWorkflows => 1, }); +$versionTags[-1]->commit; ok( !$photo->canView(1), "Visitors cannot view" ); ok( !$photo->canEdit(1), "Visitors cannot edit" ); @@ -133,3 +168,16 @@ ok( $photo->canView, "Owner can view" ); ok( $photo->canEdit, "Owner can edit" ); ok( $photo->canView(3), "Admin can view" ); ok( $photo->canEdit(3), "Admin can edit" ); + + +#---------------------------------------------------------------------------- +# Cleanup +END { + WebGUI::Friends->new($session)->delete( [ $friend->userId ] ); + $friend->delete; + foreach my $versionTag (@versionTags) { + $versionTag->rollback; + } +} + +