couple more tests for related asset exports
This commit is contained in:
parent
5f44936580
commit
1ff9f09e8b
1 changed files with 47 additions and 2 deletions
|
|
@ -16,6 +16,7 @@ use FindBin;
|
||||||
use strict;
|
use strict;
|
||||||
use lib "$FindBin::Bin/../lib";
|
use lib "$FindBin::Bin/../lib";
|
||||||
use Test::More;
|
use Test::More;
|
||||||
|
use Monkey::Patch qw(patch_class);
|
||||||
use WebGUI::Test; # Must use this before any other WebGUI modules
|
use WebGUI::Test; # Must use this before any other WebGUI modules
|
||||||
use WebGUI::PseudoRequest;
|
use WebGUI::PseudoRequest;
|
||||||
|
|
||||||
|
|
@ -29,6 +30,7 @@ use File::Path;
|
||||||
use File::Temp qw/tempfile tempdir/;
|
use File::Temp qw/tempfile tempdir/;
|
||||||
use Path::Class;
|
use Path::Class;
|
||||||
use Test::Deep;
|
use Test::Deep;
|
||||||
|
use Scope::Guard qw(guard);
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# Init
|
# Init
|
||||||
|
|
@ -41,7 +43,7 @@ WebGUI::Test->originalConfig('exportPath');
|
||||||
|
|
||||||
my $testRan = 1;
|
my $testRan = 1;
|
||||||
|
|
||||||
plan tests => 126; # Increment this number for each test you create
|
plan tests => 128; # Increment this number for each test you create
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# exportCheckPath()
|
# exportCheckPath()
|
||||||
|
|
@ -628,6 +630,34 @@ ok(-e $symlinkedRoot->stringify, 'exportSymlinkRoot sets up link correctly and s
|
||||||
is(readlink $symlinkedRoot->stringify, $parentPath, 'exportSymlinkRoot sets up link correctly and supplies default index');
|
is(readlink $symlinkedRoot->stringify, $parentPath, 'exportSymlinkRoot sets up link correctly and supplies default index');
|
||||||
unlink $symlinkedRoot->stringify;
|
unlink $symlinkedRoot->stringify;
|
||||||
|
|
||||||
|
subtest exportRelated => sub {
|
||||||
|
my $old = WebGUI::VersionTag->getWorking($session);
|
||||||
|
my $tag = WebGUI::VersionTag->create($session);
|
||||||
|
$tag->setWorking();
|
||||||
|
my $topic = $parent->addChild({
|
||||||
|
className => 'WebGUI::Asset::Wobject::StoryTopic',
|
||||||
|
keywords => 'relatedAssetTesting'
|
||||||
|
});
|
||||||
|
my $archive = $parent->addChild({
|
||||||
|
className => 'WebGUI::Asset::Wobject::StoryArchive',
|
||||||
|
});
|
||||||
|
my $story = $archive->addChild({
|
||||||
|
className => 'WebGUI::Asset::Story',
|
||||||
|
keywords => 'relatedAssetTesting',
|
||||||
|
});
|
||||||
|
$tag->commit();
|
||||||
|
my $cleanup = guard { $old->setWorking(); $tag->rollback };
|
||||||
|
cmp_deeply(
|
||||||
|
$archive->exportGetAssetIds({ depth => 99, exportRelated => 1}),
|
||||||
|
superbagof(map { $_->getId } ($topic, $archive, $story)),
|
||||||
|
'exporting archive includes topic with exportRelated'
|
||||||
|
);
|
||||||
|
is(0, scalar grep { $_ eq $topic->getId }
|
||||||
|
@{ $archive->exportGetAssetIds({ depth => 99 }) },
|
||||||
|
'but not without exportRelated'
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
# exportGetDescendants()
|
# exportGetDescendants()
|
||||||
|
|
@ -737,7 +767,22 @@ is($@, "orly? yarly! is not a valid depth", "exportAsHtml throws correct error w
|
||||||
# the exportPath first to make sure there are no residuals from the tests
|
# the exportPath first to make sure there are no residuals from the tests
|
||||||
# above.
|
# above.
|
||||||
$exportPath->rmtree;
|
$exportPath->rmtree;
|
||||||
eval { $message = $parent->exportAsHtml( { userId => 3, depth => 99, quiet => 1 } ) };
|
eval {
|
||||||
|
my $ret;
|
||||||
|
# We can't just mock the object to test, because exportAsHtml
|
||||||
|
# re-instantiates with a new session.
|
||||||
|
my $patch = patch_class(ref $parent, exportGetAssetIds => sub {
|
||||||
|
my $orig = shift;
|
||||||
|
my $self = shift;
|
||||||
|
$ret = $self->$orig(@_);
|
||||||
|
});
|
||||||
|
$message = $parent->exportAsHtml(
|
||||||
|
{ userId => 3, depth => 99, quiet => 1 }
|
||||||
|
);
|
||||||
|
cmp_bag($ret, [map { $_->getId} $parent, $firstChild, $grandChild],
|
||||||
|
'exportAsHtml lets exportGetAssetIds figure out which assets to export.'
|
||||||
|
);
|
||||||
|
};
|
||||||
is($@, '', "exportAsHtml on parent does not throw an error"); ##Note, string comparison
|
is($@, '', "exportAsHtml on parent does not throw an error"); ##Note, string comparison
|
||||||
|
|
||||||
# list of files that should exist. obtained by running previous known working
|
# list of files that should exist. obtained by running previous known working
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue