sessionify duplicate. Tweak AssetClipboard test to use Moose methods.

This commit is contained in:
Colin Kuskie 2010-01-22 18:36:54 -08:00
parent de34ab3b95
commit 5b24340994
2 changed files with 16 additions and 13 deletions

View file

@ -93,25 +93,26 @@ Assets that normally autocommit their workflows (like CS Posts, and Wiki Pages)
sub duplicate {
my $self = shift;
my $session = $self->session;
my $options = shift;
my $parent = $self->getParent;
my $newAsset
= $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
);
# Duplicate metadata fields
my $sth = $self->session->db->read(
my $sth = $session->db->read(
"select * from metaData_values where assetId = ?",
[$self->getId]
);
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
my $k = WebGUI::Keyword->new( $self->session );
my $k = WebGUI::Keyword->new( $session );
my $keywords = $k->getKeywordsForAsset( {
asset => $self,
asArrayRef => 1,

View file

@ -72,12 +72,13 @@ $versionTag->commit;
sleep 2;
note "duplicate";
my $duplicatedSnippet = $snippet->duplicate;
is($duplicatedSnippet->get('title'), 'snippet', 'duplicated snippet has correct title');
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
is($duplicatedSnippet->title, 'snippet', 'duplicated snippet has correct title');
isnt($duplicatedSnippet->getId, $snippetAssetId, 'duplicated snippet does not have same assetId as original');
is(
$duplicatedSnippet->get("revisionDate"),
$duplicatedSnippet->revisionDate,
$snippetRevisionDate,
'duplicated snippet has the same revision date',
);
@ -96,9 +97,10 @@ WebGUI::Test->tagsToRollback($newVersionTag);
#
####################################################
is( $topFolder->cut, 1, 'cut: returns 1 if successful' );
is($topFolder->get('state'), 'clipboard', '... state set to trash on the trashed asset object');
is($topFolder->cloneFromDb->get('state'), 'clipboard', '... state set to trash in db on object');
is($folder1a->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on child #1');
is($folder1b->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on child #2');
is($folder1a2->cloneFromDb->get('state'), 'clipboard-limbo', '... state set to clipboard-limbo on grandchild #1-1');
note "cut";
is($topFolder->cut, 1, 'returns 1 if successful' );
is($topFolder->state, 'clipboard', '... state set to trash on the trashed asset object');
is($topFolder->cloneFromDb->state, 'clipboard', '... state set to trash in db on object');
is($folder1a->cloneFromDb->state, 'clipboard-limbo', '... state set to clipboard-limbo on child #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');