Skip to content

feat: smoke test untuk menu profil kependudukan#1058

Open
lukman48 wants to merge 1 commit into
OpenSID:feat/smoketestfrom
lukman48:feat/smoketest-profil-kependudukan
Open

feat: smoke test untuk menu profil kependudukan#1058
lukman48 wants to merge 1 commit into
OpenSID:feat/smoketestfrom
lukman48:feat/smoketest-profil-kependudukan

Conversation

@lukman48

@lukman48 lukman48 commented Jun 12, 2026

Copy link
Copy Markdown

Pull Request: Smoke Test untuk Menu Profil Kependudukan

Deskripsi

Menambahkan smoke test otomatis menggunakan Pest + pest-plugin-browser (Playwright) untuk memastikan fungsionalitas inti halaman Profil Kependudukan berjalan dengan benar. Test menggunakan MSW (Mock Service Worker) yang sudah ada untuk mengintersep request API eksternal dan mengembalikan data fixture.

Perubahan yang dilakukan:

  1. Smoke Test - Profil Kependudukan: Test untuk 6 submenu (Penduduk, Kesehatan, Pendidikan, Ketenagakerjaan, Penerima Bantuan, Kelembagaan) mencakup halaman terbuka, tombol, tabel, data, dan chart
  2. MSW Fixtures: Menambahkan 6 fixture JSON baru untuk endpoint API tiap submenu
  3. data-testid Attributes: Penambahan data-testid di Blade templates untuk selector yang stabil

Alasan perubahan:

Dampak perubahan:

Smoke Test Coverage: 6 submenu Profil Kependudukan tercoverage oleh automated browser tests (21 test cases)
Deterministic Testing: MSW mock memastikan test selalu menggunakan data yang konsisten
data-testid Convention: Memperluas testing contract ke halaman Profil Kependudukan

Masalah Terkait (Related Issue)

  • Solusi untuk issue #1057

Detail Perubahan File

Smoke Tests (New Files)

File Test Cases
tests/Browser/SmokeProfilKependudukanTest.php 21 tests: 6 submenu × 3-4 test case per submenu

JSON Fixtures (New Files — 6 files)

Fixture Endpoint
data-penduduk.json /api/v1/penduduk
data-kesehatan.json /api/v1/data/kesehatan
data-pendidikan.json /api/v1/pendidikan
data-ketenagakerjaan.json /api/v1/ketenagakerjaan
data-bantuan.json /api/v1/bantuan
data-lembaga.json /api/v1/lembaga

View Changes (data-testid additions)

File Elemen
resources/views/penduduk/index.blade.php btn-filter, btn-cetak, table-penduduk, dropdown-pilih-aksi
resources/views/penduduk/filter_form.blade.php btn-filter-submit
resources/views/data_pokok/kesehatan/index.blade.php statistik-golongan-darah, chart-golongan-darah, statistik-status-gizi, chart-status-gizi, table-kesehatan
resources/views/data_pokok/pendidikan/index.blade.php statistik-partisipasi-sekolah, chart-partisipasi-sekolah, statistik-ijazah-tertinggi, chart-ijazah-tertinggi, table-pendidikan
resources/views/data_pokok/ketenagakerjaan/index.blade.php statistik-jumlah-penghasilan, chart-jumlah-penghasilan, statistik-pelatihan, chart-pelatihan, table-ketenagakerjaan
resources/views/bantuan/index.blade.php btn-filter, btn-cetak, btn-filter-submit, table-bantuan, btn-detail
resources/views/lembaga/index.blade.php btn-filter, btn-filter-submit, table-lembaga
resources/views/components/print-button.blade.php btn-cetak
resources/views/components/excel-download-button.blade.php btn-excel

Configuration Changes

File Perubahan
tests/Browser/MswSetup.php Tambah 6 route mapping ke fixture baru

Langkah untuk Mereproduksi (Steps to Reproduce)

Setup:

  1. Clone repository dan switch ke branch feat/smoketest-profil-kependudukan
  2. Jalankan composer install (akan otomatis menjalankan apply-patch.sh)
  3. Jalankan npm install && npx msw init public/ --save
  4. Copy .env.testing dari .env dan set APP_ENV=testing

Menjalankan Smoke Tests:

Semua smoke tests profil kependudukan

php vendor/bin/pest --filter=SmokeProfilKependudukan

Per submenu

php vendor/bin/pest --filter=SmokeProfilKependudukan --filter=penduduk
php vendor/bin/pest --filter=SmokeProfilKependudukan --filter=kesehatan

Hasil yang diharapkan:

  • Semua test pass (21 tests)
  • Test berjalan dalam ~60 detik

Daftar Periksa (Checklist)

  • Saya telah mematuhi aturan penulisan script
  • Saya telah mengikuti proses review pull request
  • Saya telah membuat automated tests untuk memverifikasi perbaikan (21 smoke tests)
  • Testing manual telah dilakukan di environment development
  • Tidak ada console error atau warning

Testing

Automated Testing — Smoke Tests

Submenu Test Cases Coverage
Penduduk 3 Page load, filter, cetak, excel, datatable, data row, Pilih Aksi
Kesehatan 3 Page load, statistik, chart render, cetak, excel, datatable, data row
Pendidikan 3 Page load, statistik, chart render, cetak, excel, datatable, data row
Ketenagakerjaan 3 Page load, statistik, chart render, cetak, excel, datatable, data row
Penerima Bantuan 3 Page load, filter, cetak, excel, datatable, data row, Detail
Kelembagaan 2 Page load, filter, cetak, excel, datatable, data row

Breaking Changes

Tidak ada breaking changes.

References

- Add Pest smoke tests for 6 submenus: Penduduk, Kesehatan, Pendidikan,
  Ketenagakerjaan, Penerima Bantuan, Kelembagaan
- Add data-testid attributes to blade views for test selectors
- Add MSW fixtures for new API endpoints
- Register new API routes in MswSetup

Issue: OpenSID#1057
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