Source of file SubsitesReportTest.php
Size: 2,945 Bytes - Last Modified: 2021-12-23T10:34:12+00:00
/var/www/docs.ssmods.com/process/src/tests/php/SubsitesReportTest.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | <?php namespace SilverStripe\SecurityReport\Tests; use SilverStripe\Dev\SapphireTest; use SilverStripe\Reports\Report; use SilverStripe\Security\Member; use SilverStripe\SecurityReport\MemberReportExtension; use SilverStripe\SecurityReport\Subsites\SubsiteMemberReportExtension; use SilverStripe\SecurityReport\UserSecurityReport; use SilverStripe\Subsites\Model\Subsite; /** * User Security Report Tests. * * @author Damian Mooyman <damian@silverstripe.com> */ class SubsitesReportTest extends SapphireTest { protected static $fixture_file = 'SubsitesReportTest.yml'; protected $records; protected static $required_extensions = [ Member::class => [ MemberReportExtension::class, SubsiteMemberReportExtension::class, ], ]; protected function setUp(): void { if (!class_exists(Subsite::class)) { // Don't break the parent:setUp() when failing to create Subsite fixtures static::$fixture_file = null; parent::setUp(); $this->markTestSkipped("Please install Subsites to run this test"); } parent::setUp(); $reports = Report::get_reports(); $report = $reports[UserSecurityReport::class]; $this->records = $report->sourceRecords()->toArray(); } public function testSourceRecords() { $this->assertNotEmpty($this->records); } public function testGetMemberGroups() { // Admin $admin = $this->objFromFixture(Member::class, 'memberadmin'); $subsites = $admin->SubsiteDescription; $this->assertStringContainsString('TestMainSite', $subsites); $this->assertStringContainsString('TestSubsite1', $subsites); $this->assertStringContainsString('TestSubsite2', $subsites); // Editor $membereditor = $this->objFromFixture(Member::class, 'membereditor'); $subsites = $membereditor->SubsiteDescription; $this->assertStringContainsString('TestMainSite', $subsites); $this->assertStringContainsString('TestSubsite1', $subsites); $this->assertStringContainsString('TestSubsite2', $subsites); // First User $membersubsite1 = $this->objFromFixture(Member::class, 'membersubsite1'); $subsites = $membersubsite1->SubsiteDescription; $this->assertStringNotContainsString('TestMainSite', $subsites); $this->assertStringContainsString('TestSubsite1', $subsites); $this->assertStringNotContainsString('TestSubsite2', $subsites); // Second user $memberallsubsites = $this->objFromFixture(Member::class, 'memberallsubsites'); $subsites = $memberallsubsites->SubsiteDescription; $this->assertStringNotContainsString('TestMainSite', $subsites); $this->assertStringContainsString('TestSubsite1', $subsites); $this->assertStringContainsString('TestSubsite2', $subsites); } } |