Selaraskan Definisi dan Rentang Waktu "Desa Aktif" di Semua Halaman (Dashboard, Web/OpenSID, Laporan) - #704
Open
habibie11 wants to merge 4 commits into
Open
Selaraskan Definisi dan Rentang Waktu "Desa Aktif" di Semua Halaman (Dashboard, Web/OpenSID, Laporan)#704habibie11 wants to merge 4 commits into
habibie11 wants to merge 4 commits into
Conversation
|
🔄 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.
issue :
#703
#698
🎯 Deskripsi
Pull request ini menyelaraskan definisi dan rentang waktu perhitungan Desa Aktif di tiga halaman utama:
/dashboard,/web/opensid, dan/laporan/desa-aktifdan juga sekalian memperbaiki bug search pada halaman desa-aktif.Sebelumnya, terdapat inkonsistensi yang menyebabkan jumlah Desa Aktif berbeda-beda di tiap halaman:
updated_at(30 hari terakhir) alih-alihtgl_akses.Melalui PR ini, seluruh halaman diselaraskan menggunakan standar: Semua desa (online + offline) yang melakukan akses (berdasarkan
tgl_akses) dalam 30 hari kalender terakhir.Tambahan:
/laporan/desamenjadi "30 Hari Terakhir" dan menjadikannya filter default.addDays()diDashboardController.🛠️ Perubahan yang Dilakukan
1.
app/Models/Desa.phpFix — Standardisasi scopeJumlahDesa dan scopeFillter:
scopeJumlahDesa, memindahkandesa_onlinedandesa_offlineagar terpengaruh oleh input periode, serta mengubah fallback default interval dari7 harimenjadi30 hari kalender(DATE(now() - interval 29 day)).scopeFillter, mengubah query filterakses=6dari "Bulan Ini" (awal bulan berjalan) menjadi "30 Hari Terakhir" agar selaras dengan dashboard.scopeHostingOnlinedanscopeHostingOfflineagar definisinya sinkron 100% dengan querydesa_onlinedandesa_offlinedi perhitungan dashboard, menghilangkan masalah selisih jumlah Desa Aktif Online dan Offline antara laporan tabel dan kartu dashboard.2.
app/Http/Controllers/LaporanDesaAktifController.phpFix — Sumber Waktu:
updated_atmenjadi menggunakan data otentik akses yaitugreatest(tgl_akses_lokal, tgl_akses_hosting).3.
resources/views/layouts/components/form_filter.blade.php&laporan/desa.blade.phpFix — Opsi Filter Baru:
value="6") ke dalam form pencarian.akses=6sebagai kondisi default yang langsung aktif saat user membuka/laporan/desa.4.
resources/views/dashboard.blade.phpFix — Penyesuaian Parameter Dashboard Admin:
?akses=4menjadi?akses=6agar jika diklik, filter di halaman laporan sinkron dengan angka periode 30 hari.5.
app/Http/Controllers/DashboardController.phpBugfix — Carbon TypeError:
(int)pada$pengaturanAplikasi['waktu_backup']di dalam metodeaddDays(). Ini untuk menyelesaikan masalah kompatibilitas tipe data di Carbon 3+ yang menolak input string (ErrorrawAddUnit()).6.
tests/Feature/LaporanDesaAktifTest.phpTest — Pembaruan Fixture Test:
tgl_akses_lokalpada pembuatan data factoryDesa(fixture) untuk menggantikan perilaku filter lama yang sebelumnya hanya mengandalkan kolomupdated_at. Semua 11 assertions sekarang PASSED.✅ Test Cases yang Diimplementasikan
/laporan/desa-aktifmenggunakantgl_aksessehingga desa yang di-update tapi tidak di-akses tidak dimasukkan ke dalam daftar aktif.DesaScopeTest) tetap lulus dengan interval default baru./dashboard.📸 Cara Menjalankan Uji Coba Manual
/dashboard(Admin)./web/opensid./laporan/desadengan filter default baru yaitu "30 Hari Terakhir"./laporan/desa-aktifdan lihat jumlah entries yang disajikan; jumlah total yang ditampilkan di bawah tabel (showing 1 to X of Y entries) harus konsisten dengan angka di dashboard.🤖 Cara Menjalankan Uji Coba Otomatis (Automated Test)
Untuk memverifikasi semua perubahan logic di atas tidak merusak fungsionalitas lain, jalankan perintah berikut:
(Seluruh pengujian harus berstatus PASSED)
📸 Screenshot atau Video
https://github.com/user-attachments/assets/a7e83f22-d661-4423-aba6-4203b3564854
