Proje: OkulUp API · Hub: OkulUp API — Conventions
OkulUp API — Test Konvansiyonları
KRİTİK KURAL
Testleri lokalde çalıştırma! GitHub Actions CI’da çalışıyor. .env.testing dosyasına dokunma.
Test Yapısı
tests/
TestCase.php → abstract, RefreshDatabase + $seed = true
Feature/Api/ → ~30 test dosyası, tek dizin
TestCase Konfigürasyonu
abstract class TestCase extends BaseTestCase
{
use RefreshDatabase;
protected bool $seed = true; // DemoSeeder otomatik çalışır
}→ Her test RefreshDatabase + seeder veriyle çalışır.
→ Seeder: DemoSeeder — @okul.com.tr email’li demo kullanıcıları oluşturur.
Test Dosyaları (~30 adet)
AuthTest, UserTest, AnnouncementTest, EventTest, GalleryTest
AttendanceTest, AttendanceNotificationTest
PaymentTest, DashboardTest
AssignmentTest, AssignmentAttachmentTest, AssignmentProductionTest
MessageTest, BroadcastTest, ConversationReadTest, MessageAttachmentTest
NotificationTest, NotificationPreferenceTest, NotificationStandardizationTest
TrackingTest, AcademicReportTest, StudentAcademicSummaryV2Test
AppointmentTest, WeeklyScheduleTest
ReportExportTest, SchoolSettingTest, AuthorizationScopeTest
SecurityTest, MobileCompatibilityTest, CacheStrategyTest
HealthCheckTest, ParentStudentLinkTest, ForgotPasswordTest, DeleteAccountTest
AppConfigTest, PreferenceTest, DeviceTest
Komutlar
# Tek test dosyası:
vendor/bin/sail artisan test tests/Feature/Api/AssignmentTest.php
# Filter:
vendor/bin/sail artisan test --filter=testName
# ASLA tam suite'i gereksiz çalıştırmaTest Oluşturma
vendor/bin/sail artisan make:test --phpunit FeatureName
# PHPUnit class oluşturur (Pest değil)Related
- api-authentication-pattern — seeder kullanıcıları (password: ‘password’)