diff --git a/t/Session/Url.t b/t/Session/Url.t index 371ba4d38..fa5db6a1a 100644 --- a/t/Session/Url.t +++ b/t/Session/Url.t @@ -51,7 +51,7 @@ my @getRefererUrlTests = ( ); use Test::More; -plan tests => 51 + scalar(@getRefererUrlTests); +plan tests => 54 + scalar(@getRefererUrlTests); my $session = WebGUI::Test->session; @@ -350,6 +350,31 @@ is( q!getBackToSiteURL: Root returns you to the default Asset! ); +my $statefulAsset = WebGUI::Asset->getRoot($session)->addChild({ className => 'WebGUI::Asset::Snippet' }); + +$statefulAsset->{_properties}{state} = 'archived'; +$session->asset( $statefulAsset ); +is( + $session->url->getBackToSiteURL, + WebGUI::Asset->getRoot($session)->getUrl, + q!getBackToSiteURL: When asset state is archived, it returns you to the Asset's container! +); + +$statefulAsset->{_properties}{state} = 'published'; +is( + $session->url->getBackToSiteURL, + WebGUI::Asset->getRoot($session)->getUrl, + q!getBackToSiteURL: When asset state is published, it returns you to the Asset's container! +); + + +$statefulAsset->{_properties}{state} = 'trash'; +is( + $session->url->getBackToSiteURL, + $defaultAssetUrl, + q!getBackToSiteURL: When asset state is not archived or published, it returns you to the default Asset! +); + END { ##Always clean-up $session->asset($sessionAsset); $versionTag->rollback;