Files
alrahma_sunday_school/tests/app/Controllers/View/FamilyAdminControllerAccessTest.php
T
root ac19226bf0
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 49s
Tests / PHPUnit (push) Successful in 1m51s
add features to family card, scores, invoices and students details
2026-09-09 23:02:16 -04:00

39 lines
1.2 KiB
PHP

<?php
namespace Tests\App\Controllers\View;
use App\Controllers\View\FamilyAdminController;
use CodeIgniter\Test\CIUnitTestCase;
final class FamilyAdminControllerAccessTest extends CIUnitTestCase
{
protected function tearDown(): void
{
session()->remove(['role', 'roles']);
parent::tearDown();
}
public function testTeachersAndAssistantsCannotViewFamilyInvoices(): void
{
$controller = new FamilyAdminController();
$method = new \ReflectionMethod($controller, 'canViewFamilyInvoices');
session()->set('role', 'teacher');
$this->assertFalse($method->invoke($controller));
session()->set('role', 'teacher_assistant');
$this->assertFalse($method->invoke($controller));
}
public function testAdministrativeRolesCanViewFamilyInvoices(): void
{
$controller = new FamilyAdminController();
$method = new \ReflectionMethod($controller, 'canViewFamilyInvoices');
foreach (['admin', 'administrator', 'administrative staff', 'principal'] as $role) {
session()->set('role', $role);
$this->assertTrue($method->invoke($controller), $role);
}
}
}