add features to family card, scores, invoices and students details
Deploy to Shared Hosting / Shared hosting deploy (push) Failing after 49s
Tests / PHPUnit (push) Successful in 1m51s

This commit is contained in:
root
2026-09-09 23:02:16 -04:00
parent 36e8ffe56d
commit ac19226bf0
11 changed files with 822 additions and 38 deletions
@@ -0,0 +1,38 @@
<?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);
}
}
}
@@ -40,7 +40,7 @@ class InventorySchemaNormalizationTest extends CIUnitTestCase
{
$routes = file_get_contents(ROOTPATH . 'app/Config/Routes.php');
$this->assertStringContainsString("\$routes->get('card', 'View\\FamilyAdminController::card')", $routes);
$this->assertStringContainsString("\$routes->get('family/card', 'View\\FamilyAdminController::card'", $routes);
$this->assertStringContainsString("\$routes->get('summary-all', 'View\\InventoryController::summaryAll')", $routes);
$this->assertStringContainsString("\$routes->get('/', 'View\\InventoryController::index')", $routes);
$this->assertStringContainsString("\$routes->get('(classroom|book|office|kitchen)', 'View\\InventoryController::index/\$1')", $routes);