Skip to content

Refactor Base TestCase ke Arsitektur Berbasis Trait (Pest v4)#1458

Open
habibie11 wants to merge 1 commit intodevfrom
dev-1452
Open

Refactor Base TestCase ke Arsitektur Berbasis Trait (Pest v4)#1458
habibie11 wants to merge 1 commit intodevfrom
dev-1452

Conversation

@habibie11
Copy link
Contributor

issue #1452

Deskripsi

PR ini melakukan refaktorisasi pada base TestCase dan CrudTestCase untuk mendukung standar Pest v4 menggunakan pendekatan trait-based. Perubahan ini bertujuan untuk mengurangi ketergantungan antar kelas (inheritance) dan membuat kode testing lebih modular serta mudah dirawat.

Perubahan Utama

  • Refactor TestCase.php & CrudTestCase.php: Menyederhanakan base class dan memindahkan logika spesifik ke dalam trait.
  • Implementasi Trait Baru:
    • WithDatabaseSetup: Menggunakan DatabaseTransactions untuk isolasi test yang aman tanpa menghapus data.
    • WithUserAuthentication: Helper untuk autentikasi user (actingAsUser, actingAsAdmin).
    • WithSettingAplikasi: Helper untuk override konfigurasi aplikasi saat testing.
  • Dokumentasi: Menambahkan docs/DOKUMENTASI_TRAIT_TESTING_PEST_V4.md sebagai panduan bagi developer.

Alasan Perubahan

  • Mengikuti Best Practices Pest v4 (Composition over Inheritance).
  • Memastikan test isolation tetap berjalan baik tanpa risiko kehilangan data pengembang (menghindari RefreshDatabase).
  • Memudahkan penulisan test baru bagi tim pengembang.

Cara Verifikasi

  1. Jalankan test keamanan: php artisan test tests/Feature/Security/MassAssignmentTest.php
  2. Jalankan test fitur: php artisan test tests/Feature/UserControllerTest.php
  3. Pastikan semua test di folder tests/Feature tetap passed.
  4. Jalankan semua test php artisan test

Screenshot

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant