add all controllers logic

This commit is contained in:
root
2026-03-11 17:53:15 -04:00
parent 3e6c577085
commit 2ef71cc92b
421 changed files with 12009 additions and 5211 deletions
@@ -0,0 +1,17 @@
<?php
namespace Tests\Unit\Resources\Frontend;
use App\Http\Resources\Frontend\FrontendPageResource;
use Tests\TestCase;
class FrontendPageResourceTest extends TestCase
{
public function test_resource_returns_page(): void
{
$resource = new FrontendPageResource(['page' => 'index']);
$payload = $resource->toArray(request());
$this->assertSame('index', $payload['page']);
}
}
@@ -0,0 +1,22 @@
<?php
namespace Tests\Unit\Resources\Frontend;
use App\Http\Resources\Frontend\PageContentResource;
use Tests\TestCase;
class PageContentResourceTest extends TestCase
{
public function test_resource_returns_content(): void
{
$resource = new PageContentResource([
'type' => 'privacy_policy',
'content' => '<h1>Privacy</h1>',
]);
$payload = $resource->toArray(request());
$this->assertSame('privacy_policy', $payload['type']);
$this->assertSame('<h1>Privacy</h1>', $payload['content']);
}
}
@@ -0,0 +1,34 @@
<?php
namespace Tests\Unit\Resources\Messaging;
use App\Http\Resources\Messaging\MessageResource;
use App\Models\Message;
use Tests\TestCase;
class MessageResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$message = new Message([
'id' => 1,
'sender_id' => 2,
'recipient_id' => 3,
'subject' => 'Hello',
'message' => 'Body',
'sent_datetime' => now(),
'read_status' => 0,
'message_number' => 'MSG-1',
'priority' => 'normal',
'status' => 'sent',
'semester' => 'Fall',
'school_year' => '2025-2026',
]);
$payload = (new MessageResource($message))->toArray(request());
$this->assertArrayHasKey('id', $payload);
$this->assertArrayHasKey('subject', $payload);
$this->assertArrayHasKey('message_number', $payload);
}
}
@@ -0,0 +1,18 @@
<?php
namespace Tests\Unit\Resources\Messaging;
use App\Http\Resources\Messaging\RecipientResource;
use Tests\TestCase;
class RecipientResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$resource = new RecipientResource(['id' => 5, 'name' => 'Test User']);
$payload = $resource->toArray(request());
$this->assertSame(5, $payload['id']);
$this->assertSame('Test User', $payload['name']);
}
}
@@ -0,0 +1,24 @@
<?php
namespace Tests\Unit\Resources\Settings;
use App\Http\Resources\Settings\SettingsResource;
use Tests\TestCase;
class SettingsResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$resource = new SettingsResource([
'site_name' => 'App',
'administrator_email' => 'admin@example.com',
'timezone' => 'UTC',
]);
$payload = $resource->toArray(request());
$this->assertSame('App', $payload['site_name']);
$this->assertSame('admin@example.com', $payload['administrator_email']);
$this->assertSame('UTC', $payload['timezone']);
}
}
@@ -0,0 +1,29 @@
<?php
namespace Tests\Unit\Resources\Staff;
use App\Http\Resources\Staff\StaffResource;
use App\Models\Staff;
use Tests\TestCase;
class StaffResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$staff = new Staff([
'id' => 1,
'user_id' => 2,
'firstname' => 'Test',
'lastname' => 'User',
'email' => 'test@example.com',
'role_name' => 'teacher',
'active_role' => 'teacher',
'school_year' => '2025-2026',
]);
$payload = (new StaffResource($staff))->toArray(request());
$this->assertSame(1, $payload['id']);
$this->assertSame('teacher', $payload['role_name']);
}
}
@@ -0,0 +1,22 @@
<?php
namespace Tests\Unit\Resources\Support;
use App\Http\Resources\Support\ContactMessageResource;
use Tests\TestCase;
class ContactMessageResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$resource = new ContactMessageResource([
'email_sent' => true,
'recipient' => 'support@example.com',
]);
$payload = $resource->toArray(request());
$this->assertTrue($payload['email_sent']);
$this->assertSame('support@example.com', $payload['recipient']);
}
}
@@ -0,0 +1,28 @@
<?php
namespace Tests\Unit\Resources\Support;
use App\Http\Resources\Support\SupportRequestResource;
use App\Models\SupportRequest;
use Tests\TestCase;
class SupportRequestResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$model = new SupportRequest([
'id' => 1,
'user_id' => 2,
'subject' => 'Help',
'message' => 'Need help',
'status' => 'open',
'semester' => 'Fall',
'school_year' => '2025-2026',
]);
$payload = (new SupportRequestResource($model))->toArray(request());
$this->assertSame(1, $payload['id']);
$this->assertSame('Help', $payload['subject']);
}
}
@@ -0,0 +1,26 @@
<?php
namespace Tests\Unit\Resources\Ui;
use App\Http\Resources\Ui\UiStyleResource;
use App\Models\Preferences;
use Tests\TestCase;
class UiStyleResourceTest extends TestCase
{
public function test_resource_returns_expected_shape(): void
{
$prefs = new Preferences([
'style_color' => 'blue',
'menu_color' => 'custom',
'menu_custom_bg' => '#112233',
'menu_custom_text' => '#FFFFFF',
'menu_custom_mode' => 'dark',
]);
$payload = (new UiStyleResource($prefs))->toArray(request());
$this->assertSame('blue', $payload['style_color']);
$this->assertSame('custom', $payload['menu_color']);
}
}