MINOR line coverage to 70%
This commit is contained in:
parent
2792c1780a
commit
b83b2b442a
|
@ -22,7 +22,7 @@ class ErrorPageSubsite extends DataObjectDecorator {
|
|||
}
|
||||
|
||||
if($subsite) {
|
||||
$subdomain = $subsite->Domains()->First()->Domain;
|
||||
$subdomain = $subsite->domain();
|
||||
$subdomainPart = "-{$subdomain}";
|
||||
}
|
||||
|
||||
|
|
|
@ -43,22 +43,12 @@ class RelatedPageLink extends DataObject {
|
|||
"MenuTitle"
|
||||
);
|
||||
|
||||
if (isset($_GET['RelatedPageID_SubsiteID'])) {
|
||||
$pageSelectionField->setSubsiteID($_GET['RelatedPageID_SubsiteID']);
|
||||
}
|
||||
if (isset($_GET['RelatedPageID_SubsiteID'])) $pageSelectionField->setSubsiteID($_GET['RelatedPageID_SubsiteID']);
|
||||
|
||||
$pageSelectionField->setFilterFunction(create_function('$item', 'return $item->ClassName != "VirtualPage";'));
|
||||
|
||||
if($subsites->Count()) {
|
||||
$fields = new FieldSet(
|
||||
$subsiteSelectionField,
|
||||
$pageSelectionField
|
||||
);
|
||||
} else {
|
||||
$fields = new FieldSet(
|
||||
$pageSelectionField
|
||||
);
|
||||
}
|
||||
if($subsites->Count()) $fields = new FieldSet($subsiteSelectionField, $pageSelectionField);
|
||||
else $fields = new FieldSet($pageSelectionField);
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
|
|
@ -28,9 +28,7 @@ class SiteTreeSubsites extends SiteTreeDecorator {
|
|||
|
||||
|
||||
function extraStatics() {
|
||||
if(!method_exists('DataObjectDecorator', 'load_extra_statics')) {
|
||||
if($this->owner->class != 'SiteTree') return null;
|
||||
}
|
||||
if(!method_exists('DataObjectDecorator', 'load_extra_statics') && $this->owner->class != 'SiteTree') return null;
|
||||
return array(
|
||||
'has_one' => array(
|
||||
'Subsite' => 'Subsite', // The subsite that this page belongs to
|
||||
|
@ -138,9 +136,7 @@ class SiteTreeSubsites extends SiteTreeDecorator {
|
|||
}
|
||||
|
||||
function updateCMSFields(&$fields) {
|
||||
if($this->owner->MasterPageID) {
|
||||
$fields->insertFirst(new HeaderField('This page\'s content is copied from a master page: ' . $this->owner->MasterPage()->Title, 2));
|
||||
}
|
||||
if($this->owner->MasterPageID) $fields->insertFirst(new HeaderField('This page\'s content is copied from a master page: ' . $this->owner->MasterPage()->Title, 2));
|
||||
|
||||
// replace readonly link prefix
|
||||
$subsite = $this->owner->Subsite();
|
||||
|
@ -316,9 +312,7 @@ class SiteTreeSubsites extends SiteTreeDecorator {
|
|||
if(is_object($subsiteID)) {
|
||||
$subsite = $subsiteID;
|
||||
$subsiteID = $subsite->ID;
|
||||
} else {
|
||||
$subsite = DataObject::get_by_id('Subsite', $subsiteID);
|
||||
}
|
||||
} else $subsite = DataObject::get_by_id('Subsite', $subsiteID);
|
||||
|
||||
$page = $this->owner->duplicate(false);
|
||||
|
||||
|
|
|
@ -34,14 +34,17 @@ class SiteTreeSubsitesTest extends SapphireTest {
|
|||
}
|
||||
|
||||
function testBasicSanity() {
|
||||
$this->assertTrue(singleton('SiteTree')->getSiteConfig() instanceof SiteConfig);
|
||||
$this->assertTrue(singleton('SiteTree')->getCMSFields() instanceof FieldSet);
|
||||
$this->assertTrue(singleton('SubsitesVirtualPage')->getCMSFields() instanceof FieldSet);
|
||||
$this->assertTrue(is_array(singleton('SiteTreeSubsites')->extraStatics()));
|
||||
|
||||
$mainpage = $this->objFromFixture('SiteTree', 'home');
|
||||
$this->objFromFixture('Member', 'admin')->logIn();
|
||||
$this->assertTrue($mainpage->canEdit());
|
||||
$this->assertTrue($mainpage->canDelete());
|
||||
$this->assertTrue($mainpage->canPublish());
|
||||
$this->assertTrue($mainpage->getExtensionInstance('SiteTreeSubsites')->canEdit());
|
||||
$this->assertTrue($mainpage->getExtensionInstance('SiteTreeSubsites')->canDelete());
|
||||
$this->assertTrue($mainpage->getExtensionInstance('SiteTreeSubsites')->canPublish());
|
||||
$this->assertTrue($mainpage->getExtensionInstance('SiteTreeSubsites')->canAddChildren());
|
||||
}
|
||||
|
||||
function testErrorPageLocations() {
|
||||
|
@ -51,7 +54,7 @@ class SiteTreeSubsitesTest extends SapphireTest {
|
|||
$path = ErrorPage::get_filepath_for_errorcode(500);
|
||||
|
||||
$static_path = Object::get_static('ErrorPage', 'static_filepath');
|
||||
$expected_path = $static_path . '/error-500-'.$subsite1->Domains()->First()->Domain.'.html';
|
||||
$expected_path = $static_path . '/error-500-'.$subsite1->domain().'.html';
|
||||
$this->assertEquals($expected_path, $path);
|
||||
}
|
||||
|
||||
|
@ -70,6 +73,15 @@ class SiteTreeSubsitesTest extends SapphireTest {
|
|||
|
||||
$this->assertEquals($importantpage->NormalRelated()->Count(), 1);
|
||||
$this->assertEquals($contact->ReverseRelated()->Count(), 1);
|
||||
|
||||
$this->assertTrue($importantpage->getCMSFields() instanceof FieldSet);
|
||||
$this->assertTrue($contact->getCMSFields() instanceof FieldSet);
|
||||
|
||||
$this->assertEquals($importantpage->canView(), $link->canView());
|
||||
$this->assertEquals($importantpage->canEdit(), $link->canEdit());
|
||||
$this->assertEquals($importantpage->canDelete(), $link->canDelete());
|
||||
$link->AbsoluteLink(true);
|
||||
$this->assertEquals($link->RelatedPageAdminLink(), '<a href="admin/show/5" class="cmsEditlink">Contact Us</a>');
|
||||
}
|
||||
|
||||
function testPageWithVirtualPagesGetsTable() {
|
||||
|
|
|
@ -100,6 +100,7 @@ class SubsiteAdminTest extends SapphireTest {
|
|||
$ids[$subsite->ID] = true;
|
||||
}
|
||||
|
||||
$this->assertTrue($subsite->adminSearchFields() instanceof FieldSet);
|
||||
$this->assertArrayHasKey(0, $ids, "Main site accessible");
|
||||
$this->assertArrayHasKey($this->idFromFixture('Subsite_Template','main'), $ids, "Site with no groups inaccesible");
|
||||
$this->assertArrayHasKey($this->idFromFixture('Subsite_Template','subsite1'), $ids, "Subsite1 Template inaccessible");
|
||||
|
|
|
@ -35,7 +35,7 @@ class SubsiteTest extends SapphireTest {
|
|||
$this->assertEquals('something.test.com', $subsite->domain());
|
||||
|
||||
// Another test that changeSubsite is working
|
||||
Subsite::changeSubsite($subsite->ID);
|
||||
$subsite->activate();
|
||||
|
||||
$siteHome = DataObject::get_one('SiteTree', "\"URLSegment\" = 'home'");
|
||||
$this->assertNotNull($siteHome);
|
||||
|
@ -69,6 +69,7 @@ class SubsiteTest extends SapphireTest {
|
|||
|
||||
$this->assertEquals(0, Subsite::getSubsiteIDForDomain('other.example.com'));
|
||||
$this->assertEquals(0, Subsite::getSubsiteIDForDomain('two.example.com'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -90,6 +91,10 @@ class SubsiteTest extends SapphireTest {
|
|||
$_SERVER['HTTP_HOST'] = "mysite.example.org";
|
||||
$this->assertEquals('three.mysite.example.org',
|
||||
$this->objFromFixture('Subsite','domaintest3')->domain());
|
||||
|
||||
|
||||
$this->assertEquals($_SERVER['HTTP_HOST'], singleton('Subsite')->PrimaryDomain);
|
||||
$this->assertEquals('http://'.$_SERVER['HTTP_HOST'].Director::baseURL(), singleton('Subsite')->absoluteBaseURL());
|
||||
|
||||
|
||||
$_SERVER['HTTP_HOST'] = $originalHTTPHost;
|
||||
|
@ -120,4 +125,29 @@ class SubsiteTest extends SapphireTest {
|
|||
), $adminSiteTitles);
|
||||
}
|
||||
|
||||
function testDuplicateSubsite() {
|
||||
// get subsite1 & create page
|
||||
$subsite1 = $this->objFromFixture('Subsite','domaintest1');
|
||||
$subsite1->activate();
|
||||
$page1 = new Page();
|
||||
$page1->Title = 'MyAwesomePage';
|
||||
$page1->write();
|
||||
$page1->doPublish();
|
||||
$this->assertEquals($page1->SubsiteID, $subsite1->ID);
|
||||
|
||||
// duplicate
|
||||
$subsite2 = $subsite1->duplicate();
|
||||
$subsite2->activate();
|
||||
// change content on dupe
|
||||
$page2 = DataObject::get_one('Page', "Title = 'MyAwesomePage'");
|
||||
$page2->Title = 'MyNewAwesomePage';
|
||||
$page2->write();
|
||||
$page2->doPublish();
|
||||
|
||||
// check change & check change has not affected subiste1
|
||||
$subsite1->activate();
|
||||
$this->assertEquals('MyAwesomePage', DataObject::get_by_id('Page', $page1->ID)->Title);
|
||||
$subsite2->activate();
|
||||
$this->assertEquals('MyNewAwesomePage', DataObject::get_by_id('Page', $page2->ID)->Title);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue