11 more AssetLineage tests for various rank methods.
Have setParent update self's parentId for persistent code.
This commit is contained in:
parent
e894ed29ae
commit
c9e2a8b9f3
2 changed files with 45 additions and 3 deletions
|
|
@ -497,7 +497,7 @@ Returns a 6 digit number with leading zeros of the next rank a child will get.
|
||||||
|
|
||||||
sub getNextChildRank {
|
sub getNextChildRank {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my ($lineage) = $self->session->db->quickArray("select max(lineage) from asset where parentId=".$self->session->db->quote($self->getId));
|
my ($lineage) = $self->session->db->quickArray("select max(lineage) from asset where parentId=?",[$self->getId]);
|
||||||
my $rank;
|
my $rank;
|
||||||
if (defined $lineage) {
|
if (defined $lineage) {
|
||||||
$rank = $self->getRank($lineage);
|
$rank = $self->getRank($lineage);
|
||||||
|
|
@ -674,7 +674,8 @@ sub setParent {
|
||||||
$self->cascadeLineage($lineage);
|
$self->cascadeLineage($lineage);
|
||||||
$self->session->db->commit;
|
$self->session->db->commit;
|
||||||
$self->updateHistory("moved to parent ".$newParent->getId);
|
$self->updateHistory("moved to parent ".$newParent->getId);
|
||||||
$self->{_properties}{lineage} = $lineage;
|
$self->{_properties}{lineage} = $lineage;
|
||||||
|
$self->{_properties}{parentId} = $newParent->getId;
|
||||||
$self->purgeCache;
|
$self->purgeCache;
|
||||||
$self->{_parent} = $newParent;
|
$self->{_parent} = $newParent;
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ use WebGUI::Test;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
|
|
||||||
use WebGUI::Asset;
|
use WebGUI::Asset;
|
||||||
use Test::More tests => 22; # increment this value for each test you create
|
use Test::More tests => 33; # increment this value for each test you create
|
||||||
use Test::Deep;
|
use Test::Deep;
|
||||||
|
|
||||||
# Test the methods in WebGUI::AssetLineage
|
# Test the methods in WebGUI::AssetLineage
|
||||||
|
|
@ -161,6 +161,47 @@ ok($snippet2->setParent($folder), 'setParent: successfully set');
|
||||||
is($snippet2->getParent->getId, $folder->getId, 'setParent successfully set parent');
|
is($snippet2->getParent->getId, $folder->getId, 'setParent successfully set parent');
|
||||||
is($folder->getChildCount, 8, 'setParent: folder now has 8 children');
|
is($folder->getChildCount, 8, 'setParent: folder now has 8 children');
|
||||||
|
|
||||||
|
##Return snippet2 to folder2
|
||||||
|
ok($snippet2->setParent($folder2), 'setParent: return snippet to original folder');
|
||||||
|
is($folder2->getChildCount, 1, 'setParent: folder2 now haw 1 child');
|
||||||
|
is($folder->getChildCount, 7, 'setParent: folder again has 7 children');
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
#
|
||||||
|
# getRank
|
||||||
|
#
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
is($root->getRank, '1', "getRank: root's rank");
|
||||||
|
is($snippets[0]->getRank, '1', "getRank: snippet[0]");
|
||||||
|
is($snippets[1]->getRank, '2', "getRank: snippet[1]");
|
||||||
|
is($root->getRank('100001'), '100001', "getRank: arbitrary lineage");
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
#
|
||||||
|
# getNextChildRank
|
||||||
|
#
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
is($folder->getNextChildRank, '000008', "getNextChildRank: folder with 8 snippets");
|
||||||
|
is($folder2->getNextChildRank, '000002', "getNextChildRank: empty folder");
|
||||||
|
|
||||||
|
####################################################
|
||||||
|
#
|
||||||
|
# swapRank
|
||||||
|
#
|
||||||
|
####################################################
|
||||||
|
|
||||||
|
is($snippets[0]->swapRank($snippets[1]->get('lineage')), 1, 'swapRank: self and adjacent');
|
||||||
|
|
||||||
|
@snipIds[0,1] = @snipIds[1,0];
|
||||||
|
$lineageIds = $folder->getLineage(['descendants']);
|
||||||
|
cmp_bag(
|
||||||
|
\@snipIds,
|
||||||
|
$lineageIds,
|
||||||
|
'swapRank: swapped first and second snippets'
|
||||||
|
);
|
||||||
|
|
||||||
END {
|
END {
|
||||||
$versionTag->rollback;
|
$versionTag->rollback;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue