fix unit tests as well as missing code
API CI/CD / Validate (composer + pint) (push) Successful in 2m7s
API CI/CD / Test (PHPUnit) (push) Failing after 2m23s
API CI/CD / Build frontend assets (push) Successful in 2m18s
API CI/CD / Security audit (push) Successful in 31s
API CI/CD / Deploy to shared hosting (PHP) (push) Has been skipped

This commit is contained in:
root
2026-06-25 14:26:32 -04:00
parent fdfcd1f0e2
commit 940afe9319
115 changed files with 4554 additions and 290 deletions
@@ -23,6 +23,7 @@ class ClassProgressReportFactory extends Factory
'unit_title' => 'Unit 1 / Chapter A',
'covered' => 'Lesson overview',
'homework' => 'Practice reading',
'next_week_plan' => 'Continue with the next lesson',
'status' => 'on_track',
'support_needed' => null,
'flags_json' => ['flag'],
@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
if (! Schema::hasTable('user_preferences') || Schema::hasColumn('user_preferences', 'timezone')) {
return;
}
Schema::table('user_preferences', function (Blueprint $table): void {
$table->string('timezone', 80)->default('UTC')->after('language');
});
}
public function down(): void
{
if (! Schema::hasTable('user_preferences') || ! Schema::hasColumn('user_preferences', 'timezone')) {
return;
}
Schema::table('user_preferences', function (Blueprint $table): void {
$table->dropColumn('timezone');
});
}
};
@@ -0,0 +1,30 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
if (! Schema::hasTable('communication_logs') || Schema::hasColumn('communication_logs', 'updated_at')) {
return;
}
Schema::table('communication_logs', function (Blueprint $table): void {
$table->dateTime('updated_at')->nullable()->after('created_at');
});
}
public function down(): void
{
if (! Schema::hasTable('communication_logs') || ! Schema::hasColumn('communication_logs', 'updated_at')) {
return;
}
Schema::table('communication_logs', function (Blueprint $table): void {
$table->dropColumn('updated_at');
});
}
};