Feat: smoketest datapresisi#1064
Open
pandigresik wants to merge 51 commits into
Open
Conversation
- Upgrade composer deps melalui 3 fase (L10→L11→L12→L13) - Bump 12 package ke major version baru (slug, datatables, CSP, image, dll) - Migrasi Intervention Image v2→v3 (Image::make → read, resize → scale) - Migrasi Spatie CSP v2→v3 (Policy → Preset, addDirective → add, config format) - Tambah helper csp_nonce() (dihilangkan di CSP v3) - Tambah CspExclusion middleware untuk route exclusion - Publikasikan ulang config/image.php, config/jsvalidation.php - Update CustomCSPPolicy → CustomCspPreset implement Preset interface - Update CSP test untuk v3 API - Catat temuan post-upgrade di UPGRADE_LARAVEL_13_PLAN.md
…upgrade/laravel-13
…upgrade/laravel-13
…upgrade/laravel-13
|
🔄 AI PR Review sedang antri di server...
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: Smoke Test Lengkap untuk Modul Data Presisi dan Data Pokok
Issue: #1062
Deskripsi Singkat
Menambahkan smoke test komprehensif menggunakan Pest untuk memastikan fungsionalitas inti seluruh modul Data Presisi dan Data Pokok berjalan dengan benar. PR ini mencakup pengujian halaman statistik (Pangan, Sandang, Papan, Seni Budaya, Pendidikan, Kesehatan, Jaminan Sosial, Aktivitas Keagamaan, Ketenagakerjaan, Adat), data presisi per kategori, data pokok (Agama, Infrastruktur, Jaminan Sosial, Papan, Pariwisata, Sandang), serta Laporan Pengisian dan Laporan Pengisian Per Desa.
Perubahan yang Dilakukan
1. Penambahan
data-testidpada Blade Views (~38 file)Menambahkan atribut
data-testidpada elemen-elemen UI untuk memudahkan seleksi dalam browser testing:data-testidfilter-tahunfilter-status-kelengkapanfilter-kategori-wisatabtn-cetak/bt-cetakbtn-export-excel/bt-excelbtn-toggle-grafikbtn-toggle-piedatatable-{nama}(mis.datatable-pangan,datatable-adat,datatable-statistik)chart-bar/chart-transportasichart-donut/chart-sanitasichart-pie-agama,chart-pie-adat,chart-pie-bantuan,chart-pie-mental,chart-pie-penanganandaftar-statistikfilter-status2. Perubahan Nama
testIdKonsisten (6 file yang sudah ada)M standardisasi penamaan
testIdpada komponen yang sudah ada:SmokePendudukTest.php:[data-testid="bt-toggle-filter"]→@bt-toggle-filter(Blade component selector)SmokeKesehatanTest.php:bt-cetak→btn-cetak,bt-excel→btn-export-excelSmokeKetenagakerjaanTest.php:bt-cetak→btn-cetak,bt-excel→btn-export-excelSmokePendidikanTest.php:bt-cetak→btn-cetak,bt-excel→btn-export-excelSmokePenerimaBantuanTest.php:[data-testid="..."]→@...(Blade component selector)#pendidikan tbody trke[data-testid="datatable-pendidikan"] tbody tr3. Penambahan Canvas Chart pada Halaman Presisi (5 file)
Beberapa halaman Data Presisi sebelumnya hanya memiliki 1 chart (bar). Ditambahkan canvas untuk chart kedua (donut/pie):
data_presisi/kesehatan/index.blade.php: Ditambah<div id="pie"><canvas id="donutChart">data_presisi/ketenagakerjaan/index.blade.php: Ditambah<div id="pie"><canvas id="donutChart">data_presisi/pendidikan/index.blade.php: Ditambah<div id="pie"><canvas id="donutChart">data_presisi/seni_budaya/index.blade.php: Ditambah<div id="pie"><canvas id="donutChart">4. Perbaikan Label Header pada Jaminan Sosial
data_pokok/jaminan_sosial/index.blade.php:5. Penambahan Fungsi
randColorRGB()pada Layoutresources/views/layouts/index.blade.php: Menambah fungsi JavaScriptrandColorRGB()untuk generate warna random RGB, kemungkinan untuk kebutuhan chart/grafik.6. File Test Baru (26 file smoke test)
SmokeDataPresisiStatistikPanganTest.php/data-presisi/statistik/panganSmokeDataPresisiStatistikSandangTest.php/data-presisi/statistik/sandangSmokeDataPresisiStatistikPapanTest.php/data-presisi/statistik/papanSmokeDataPresisiStatistikSeniBudayaTest.php/data-presisi/statistik/senibudayaSmokeDataPresisiStatistikPendidikanTest.php/data-presisi/statistik/pendidikanSmokeDataPresisiStatistikKesehatanTest.php/data-presisi/statistik/kesehatanSmokeDataPresisiStatistikJaminanSosialTest.php/data-presisi/statistik/jaminan-sosialSmokeDataPresisiStatistikAktivitasKeagamaanTest.php/data-presisi/statistik/aktivitas-keagamaanSmokeDataPresisiStatistikKetenagakerjaanTest.php/data-presisi/statistik/ketenagakerjaanSmokeDataPresisiStatistikAdatTest.php/data-presisi/statistik/adatSmokeDataPresisiPanganTest.php/data-presisi/panganSmokeDataPresisiAdatTest.php/data-presisi/adatSmokeDataPresisiSeniBudayaTest.php/data-presisi/seni-budayaSmokeDataPresisiKesehatanTest.php/data-presisi/kesehatanSmokeDataPresisiPendidikanTest.php/data-presisi/pendidikanSmokeDataPresisiKetenagakerjaanTest.php/data-presisi/ketenagakerjaanSmokeDataPresisiLaporanPengisianTest.php/data-presisi/laporanSmokeDataPresisiLaporanPengisianPerDesaTest.php/data-presisi/laporan/perdesaSmokeDataPokokAgamaTest.php/data-pokok/agamaSmokeDataPokokInfrastrukturTest.php/data-pokok/infrastrukturSmokeDataPokokJaminanSosialTest.php/data-pokok/jaminan-sosialSmokeDataPokokPapanTest.php/satu-data/dtks/papanSmokeDataPokokPariwisataTest.php/data-pokok/pariwisataSmokeDataPokokSandangTest.php/data-pokok/sandang7. Fixture Files Baru (30 file)
Data mock untuk MSW (Mock Service Worker) interceptor:
Fixtures Data Presisi RTM:
pangan.json,sandang.json,papan.json,adat.json,agama.jsonseni-budaya.json,kesehatan-presisi.json,pendidikan-presisi.jsonketenagakerjaan-presisi.json,jaminan-sosial.jsonFixtures Kategori Statistik:
kategori-statistik-pangan.json,kategori-statistik-sandang.json,kategori-statistik-papan.jsonkategori-statistik-seni-budaya.json,kategori-statistik-pendidikan.jsonkategori-statistik-kesehatan.json,kategori-statistik-jaminan-sosial.jsonkategori-statistik-agama.json,kategori-statistik-ketenagakerjaan.json,kategori-statistik-adat.jsonFixtures Statistik:
statistik-pangan.json,statistik-sandang.json,statistik-papan.jsonstatistik-seni-budaya.json,statistik-pendidikan.jsonstatistik-kesehatan.json,statistik-jaminan-sosial.jsonstatistik-agama.json,statistik-ketenagakerjaan.json,statistik-adat.jsonFixtures Lainnya:
infrastruktur.json,pariwisata.json,laporan.json,laporan-perdesa.json8. Pembaruan MSW Setup (
MswSetup.php)Menambahkan 14 endpoint mapping statis dan 2 regex pattern ke interceptor MSW:
Endpoint Statis:
/api/v1/pariwisata→pariwisata.json/api/v1/infrastruktur→infrastruktur.json/api/v1/data-presisi/pangan/rtm→pangan.json/api/v1/data-presisi/sandang/rtm→sandang.json/api/v1/data-presisi/papan/rtm→papan.json/api/v1/data-presisi/seni-budaya/rtm→seni-budaya.json/api/v1/data-presisi/adat/rtm→adat.json/api/v1/data-presisi/agama/rtm→agama.json/api/v1/data-presisi/kesehatan/rtm→kesehatan-presisi.json/api/v1/data-presisi/pendidikan/rtm→pendidikan-presisi.json/api/v1/data-presisi/ketenagakerjaan/rtm→ketenagakerjaan-presisi.json/api/v1/data-presisi/jaminan-sosial/rtm→jaminan-sosial.json/api/v1/data-presisi/laporan→laporan.json/api/v1/data-presisi/laporan-perdesa→laporan-perdesa.jsonRegex Pattern:
#/api/v1/data-presisi/([\w-]+)/kategori-statistik#→kategori-statistik-*.json#/api/v1/data-presisi/([\w-]+)/statistik#→statistik-*.json9. Perubahan Fixture yang Sudah Ada
bantuan.json:statusdiubah dari string"Aktif"ke integer1kesehatan.json:nikdiubah dari"5271010101010001"ke"0000000000000001"ketenagakerjaan.json:nikdiubah dari"5271010101010001"ke"0000000000000001"pendidikan.json:nikdiubah dari"5271010101010001"ke"0000000000000001"penduduk-data.json:nikdanno_kkdiubah ke format"0000000000000001"Alasan Perubahan
Kebutuhan Smoke Test Issue Buatkan Smoke test untuk menu data presisi #1062: Issue meminta smoke test komprehensif untuk seluruh modul Data Presisi dan terkait untuk memastikan fungsionalitas inti berjalan.
Tidak Ada
data-testid: Sebelumnya, elemen-elemen UI belum memiliki atributdata-testidyang konsisten, sehingga sulit diakses secara reliable oleh browser test.Chart Tidak Lengkap: Beberapa halaman Data Presisi hanya memiliki 1 chart (bar) padahal seharusnya memiliki 2 chart (bar + donut/pie) untuk visualisasi data yang lebih lengkap.
Label Salah: Header "Jenis Gangguan Mental" muncul dua kali di halaman Jaminan Sosial, yang kedua seharusnya "Jenis Penanganan".
Standarisasi Nama TestId: Nama
testIdyang tidak konsisten (bt-cetakvsbtn-cetak,bt-excelvsbtn-export-excel) perlu distandardisasi.Dampak Perubahan
data-testidyang tidak mempengaruhi rendering atau fungsi.Cara Menjalankan Test
Testing Checklist
Submenu Statistik (Pangan, Sandang, Papan, Seni Budaya, Pendidikan, Kesehatan, Jaminan Sosial, Aktivitas Keagamaan, Ketenagakerjaan, Adat)
Submenu Data Presisi (Pangan, Sandang, Papan, Kesehatan, Pendidikan, Ketenagakerjaan, Adat, Agama, Seni Budaya)
Submenu Jaminan Sosial
Submenu Pariwisata
Submenu Data Infrastruktur
Submenu Laporan Pengisian
Submenu Laporan Pengisian Per Desa
Related Issue
#1062
php artisan test --testsuite=BrowserScreenshots