49 lines
1.6 KiB
Perl
49 lines
1.6 KiB
Perl
# vim:syntax=perl
|
|
#-------------------------------------------------------------------
|
|
# WebGUI is Copyright 2001-2009 Plain Black Corporation.
|
|
#-------------------------------------------------------------------
|
|
# Please read the legal notices (docs/legal.txt) and the license
|
|
# (docs/license.txt) that came with this distribution before using
|
|
# this software.
|
|
#------------------------------------------------------------------
|
|
# http://www.plainblack.com info@plainblack.com
|
|
#------------------------------------------------------------------
|
|
|
|
=head1 BUG DESCRIPTION
|
|
|
|
Thread's duplicate method fails if the subscriptionGroupId isn't a valid group
|
|
(for instance, if it was imported from another site). It should just not copy
|
|
the group in that case.
|
|
|
|
=cut
|
|
|
|
use warnings;
|
|
use strict;
|
|
|
|
use Test::More tests => 4;
|
|
use Test::Exception;
|
|
use FindBin;
|
|
|
|
use lib "$FindBin::Bin/../../../lib";
|
|
use WebGUI::Test;
|
|
use WebGUI::Asset;
|
|
|
|
my $session = WebGUI::Test->session;
|
|
my $thread = WebGUI::Asset->getImportNode($session)->addChild(
|
|
{
|
|
className => 'WebGUI::Asset::Post::Thread',
|
|
subscriptionGroupId => $session->id->generate(),
|
|
}
|
|
);
|
|
WebGUI::Test->addToCleanup($thread);
|
|
|
|
SKIP: {
|
|
my $copy;
|
|
skip('duplicate died', 3) unless
|
|
lives_ok { $copy = $thread->duplicate() } q"duplicate() doesn't die";
|
|
WebGUI::Test->addToCleanup($copy);
|
|
my $groupId = $copy->get('subscriptionGroupId');
|
|
ok $groupId, 'Copy has a group id';
|
|
isnt $groupId, $thread->get('subscriptionGroupId'), '...a different one';
|
|
ok(WebGUI::Group->new($session, $groupId), '...and it instantiates');
|
|
};
|