Fix problems with the Story Archive leaking version tags when it is not committed. Fixes bug #11678

This commit is contained in:
Colin Kuskie 2010-06-23 14:12:42 -07:00
parent 321f165147
commit b7ba9f2118
5 changed files with 31 additions and 6 deletions

View file

@ -70,6 +70,9 @@ my $topic = $defaultNode->addChild({
my $archiveTag = WebGUI::VersionTag->getWorking($session);
$archiveTag->commit;
WebGUI::Test->addToCleanup($archiveTag);
foreach my $asset ($archive, $topic) {
$asset = $asset->cloneFromDb;
}
my $storage1 = WebGUI::Storage->create($session);
my $storage2 = WebGUI::Storage->create($session);

View file

@ -63,7 +63,7 @@ $canPostMaker->prepare({
fail => [1, $reader ],
});
my $tests = 50
my $tests = 51
+ $canPostMaker->plan
;
plan tests => 1
@ -95,6 +95,7 @@ $archive = $home->addChild({
$versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->commit;
WebGUI::Test->addToCleanup($versionTag);
$archive = $archive->cloneFromDb;
isa_ok($archive, 'WebGUI::Asset::Wobject::StoryArchive', 'created StoryArchive');
@ -152,6 +153,17 @@ undef $sameFolder;
$todayFolder->purge;
is($archive->getChildCount, 0, 'leaving with an empty archive');
{
my $archive2 = $home->addChild({
className => 'WebGUI::Asset::Wobject::StoryArchive',
title => 'Uncommitted',
url => 'uncommitted_archive',
});
my $guard = WebGUI::Test->cleanupGuard($archive2);
my $new_folder = $archive2->getFolder;
is $archive2->get('tagId'), $new_folder->get('tagId'), 'folder added to uncommitted archive uses the same version tag';
}
################################################################
#
# addChild

View file

@ -62,7 +62,10 @@ $creationDateSth->execute([$weekAgo, $weekStory->getId]);
my $versionTag = WebGUI::VersionTag->getWorking($session);
$versionTag->commit;
addToCleanup($versionTag);
WebGUI::Test->addToCleanup($versionTag);
foreach my $asset ($archive1, $archive2) {
$asset = $asset->cloneFromDb;
}
my $workflow = WebGUI::Workflow->create($session,
{