sessionify duplicate. Tweak AssetClipboard test to use Moose methods.
This commit is contained in:
parent
de34ab3b95
commit
5b24340994
2 changed files with 16 additions and 13 deletions
|
|
@ -93,25 +93,26 @@ Assets that normally autocommit their workflows (like CS Posts, and Wiki Pages)
|
||||||
|
|
||||||
sub duplicate {
|
sub duplicate {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
my $session = $self->session;
|
||||||
my $options = shift;
|
my $options = shift;
|
||||||
my $parent = $self->getParent;
|
my $parent = $self->getParent;
|
||||||
my $newAsset
|
my $newAsset
|
||||||
= $parent->addChild( $self->get, undef, $self->get("revisionDate"), { skipAutoCommitWorkflows => $options->{skipAutoCommitWorkflows} } );
|
= $parent->addChild( $self->get, undef, $self->get("revisionDate"), { skipAutoCommitWorkflows => $options->{skipAutoCommitWorkflows} } );
|
||||||
|
|
||||||
$self->session->log->error(
|
$session->log->error(
|
||||||
sprintf "Unable to add child %s (%s) to %s (%s)", $self->getTitle, $self->getId, $parent->getTitle, $parent->getId
|
sprintf "Unable to add child %s (%s) to %s (%s)", $self->getTitle, $self->getId, $parent->getTitle, $parent->getId
|
||||||
);
|
);
|
||||||
# Duplicate metadata fields
|
# Duplicate metadata fields
|
||||||
my $sth = $self->session->db->read(
|
my $sth = $session->db->read(
|
||||||
"select * from metaData_values where assetId = ?",
|
"select * from metaData_values where assetId = ?",
|
||||||
[$self->getId]
|
[$self->getId]
|
||||||
);
|
);
|
||||||
while (my $h = $sth->hashRef) {
|
while (my $h = $sth->hashRef) {
|
||||||
$self->session->db->write("insert into metaData_values (fieldId, assetId, value) values (?, ?, ?)", [$h->{fieldId}, $newAsset->getId, $h->{value}]);
|
$session->db->write("insert into metaData_values (fieldId, assetId, value) values (?, ?, ?)", [$h->{fieldId}, $newAsset->getId, $h->{value}]);
|
||||||
}
|
}
|
||||||
|
|
||||||
# Duplicate keywords
|
# Duplicate keywords
|
||||||
my $k = WebGUI::Keyword->new( $self->session );
|
my $k = WebGUI::Keyword->new( $session );
|
||||||
my $keywords = $k->getKeywordsForAsset( {
|
my $keywords = $k->getKeywordsForAsset( {
|
||||||
asset => $self,
|
asset => $self,
|
||||||
asArrayRef => 1,
|
asArrayRef => 1,
|
||||||
|
|
|
||||||
|
|
@ -72,12 +72,13 @@ $versionTag->commit;
|
||||||
|
|
||||||
sleep 2;
|
sleep 2;
|
||||||
|
|
||||||
|
note "duplicate";
|
||||||
my $duplicatedSnippet = $snippet->duplicate;
|
my $duplicatedSnippet = $snippet->duplicate;
|
||||||
|
|
||||||
is($duplicatedSnippet->get('title'), 'snippet', 'duplicated snippet has correct title');
|
is($duplicatedSnippet->title, 'snippet', 'duplicated snippet has correct title');
|
||||||
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
|
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
|
||||||
is(
|
is(
|
||||||
$duplicatedSnippet->get("revisionDate"),
|
$duplicatedSnippet->revisionDate,
|
||||||
$snippetRevisionDate,
|
$snippetRevisionDate,
|
||||||
'duplicated snippet has the same revision date',
|
'duplicated snippet has the same revision date',
|
||||||
);
|
);
|
||||||
|
|
@ -96,9 +97,10 @@ WebGUI::Test->tagsToRollback($newVersionTag);
|
||||||
#
|
#
|
||||||
####################################################
|
####################################################
|
||||||
|
|
||||||
is( $topFolder->cut, 1, 'cut: returns 1 if successful' );
|
note "cut";
|
||||||
is($topFolder->get('state'), 'clipboard', '... state set to trash on the trashed asset object');
|
is($topFolder->cut, 1, 'returns 1 if successful' );
|
||||||
is($topFolder->cloneFromDb->get('state'), 'clipboard', '... state set to trash in db on object');
|
is($topFolder->state, 'clipboard', '... state set to trash on the trashed asset object');
|
||||||
is($folder1a->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on child #1');
|
is($topFolder->cloneFromDb->state, 'clipboard', '... state set to trash in db on object');
|
||||||
is($folder1b->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on child #2');
|
is($folder1a->cloneFromDb->state, 'clipboard-limbo', '... state set to clipboard-limbo on child #1');
|
||||||
is($folder1a2->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on grandchild #1-1');
|
is($folder1b->cloneFromDb->state, 'clipboard-limbo', '... state set to clipboard-limbo on child #2');
|
||||||
|
is($folder1a2->cloneFromDb->state, 'clipboard-limbo', '... state set to clipboard-limbo on grandchild #1-1');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue