Showing posts with label cli. Show all posts
Showing posts with label cli. Show all posts

Wednesday, 12 August 2026

Menguji uji sistem reminder manual dan cli

 Tentu! Menguji sistem secara menyeluruh di *server lokal/staging* sangat penting sebelum sistem ini benar-benar diaktifkan untuk seluruh guru di sekolah.


Berikut adalah panduan skenario uji coba (UAT - *User Acceptance Testing*) yang sebaiknya Anda lakukan untuk memastikan semua logika filter yang kita buat berjalan sempurna:


### 1. Skenario Normal (KBM Berjalan Biasa)


* **Belum Mengisi Jurnal:** Biarkan satu guru yang sudah selesai jam mengajarnya tidak mengisi jurnal. Pastikan nama guru tersebut muncul di `reminder_manual.php` dan skrip CLI mencatatnya sebagai penerima pesan.

* **Sudah Mengisi Jurnal:** Simulasikan guru tersebut mengisi jurnal (entri data ke tabel `{local_jurnalmengajar}`). Pastikan namanya **hilang** dari daftar `reminder_manual.php` dan CLI tidak lagi memprosesnya.


### 2. Skenario "Jam Tidak Belajar" (Kegiatan Global)


* **Persiapan:** Masukkan data di `kegiatan_add.php`. Pilih **Tanggal hari ini**, centang **Pilih Semua Kelas**, dan masukkan Jam Ke: `1, 2`.

* **Ekspektasi (Hasil yang Diharapkan):**

* Semua guru yang mengajar di jam ke-1 dan ke-2 pada hari ini **tidak muncul** di halaman reminder.

* Guru yang mengajar mulai jam ke-3 ke atas harus **tetap muncul** di halaman reminder jika mereka belum mengisi jurnal (setelah jam ke-3 terlewat).




### 3. Skenario "Jam Tidak Belajar" (Kegiatan Spesifik Per Kelas)


* **Persiapan:** Hapus data kegiatan sebelumnya. Buat data baru: Pilih **Tanggal hari ini**, centang **hanya satu kelas** (misal: Kelas IX-A), dan masukkan Jam Ke: `3, 4`.

* **Ekspektasi:**

* Guru yang mengajar Kelas IX-A pada jam ke-3 dan 4 **tidak dinotifikasi**.

* Namun, jika ada guru lain yang mengajar di Kelas IX-B pada jam ke-3 dan 4, guru tersebut **tetap mendapat notifikasi** (namanya muncul di halaman reminder).




### 4. Skenario Filter Blok Jam Berurutan (Mencegah Spam)


* **Persiapan:** Pastikan ada guru yang jadwal mengajarnya berurutan di kelas yang sama, misalnya jam ke `1, 2, 3`.

* **Ekspektasi:**

* Saat waktu *real-time* baru menunjukkan selesainya jam ke-1 atau ke-2, guru ini **tidak boleh** masuk ke daftar reminder.

* Guru ini baru boleh muncul di daftar reminder setelah waktu selesainya **jam ke-3** terlewati.




### 5. Skenario Guru Tidak Hadir


* **Persiapan:** Tandai satu orang guru sebagai "Tidak Hadir" pada hari ini di sistem Moodle Anda (sesuai fungsi `jurnalmengajar_get_status_takhadir`).

* **Ekspektasi:** Meskipun jam mengajarnya sudah lewat, nama guru tersebut tidak akan masuk ke dalam target penerima pesan WhatsApp. (Namanya hanya akan muncul di bagian bawah pada ringkasan **Preview Rekap Admin**).


### 6. Skenario Mode Rekap Malam (Admin)


* **Persiapan:** Pada skrip CLI (`notif_jurnal.php`), ubah sementara atau jalankan *script* pada jam yang melewati batas `$jamrekap` (misal 19:50).

* **Ekspektasi:** Sistem tidak lagi mengirim pesan tunggal ke masing-masing guru, melainkan menyatukan datanya dan hanya mengirim satu pesan rekapitulasi panjang kepada nomor Admin.


---


**Tips Tambahan untuk Uji Coba:**

Gunakan opsi `--dry-run` saat mengeksekusi skrip CLI di server untuk sekadar melihat *log* (hasil teks) tanpa benar-benar memotong kuota pengiriman WhatsApp Anda.


Apakah Anda membutuhkan cara cepat untuk memanipulasi waktu (jam) pada *server lokal* Anda, sehingga Anda tidak perlu repot menunggu jam pelajaran benar-benar habis saat melakukan simulasi ini?

Friday, 20 January 2023

install Speedtest cli

 $ curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
Detected operating system as Ubuntu/focal.
Checking for curl...
Detected curl...
Checking for gpg...
Detected gpg...
Detected apt version as 2.0.9
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/ookla_speedtest-cli.list...done.
Importing packagecloud gpg key... Packagecloud gpg key imported to /etc/apt/keyrings/ookla_speedtest-cli-archive-keyring.gpg
done.
Running apt-get update... done.

The repository is setup! You can now install packages.


$ sudo apt-get install speedtest
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils fonts-linuxlibertine fonts-sil-gentium fonts-sil-gentium-basic
  gstreamer1.0-gtk3 libabw-0.1-1 libapache-pom-java libboost-date-time1.71.0 libbsh-java libclucene-contribs1v5 libclucene-core1v5 libcmis-0.5-5v5
  libcommons-logging-java libcommons-parent-java libe-book-0.1-1 libel-api-java libeot0 libepubgen-0.1-1 libetonyek-0.1-1 libexttextcat-2.0-0
  libexttextcat-data libfbclient2 libhsqldb1.8.0-java libib-util libjsp-api-java libjuh-java libjurt-java liblangtag-common liblangtag1 libmhash2
  libmwaw-0.3-3 libmythes-1.2-0 libneon27-gnutls libodfgen-0.1-1 liborcus-0.15-0 libraptor2-0 librasqal3 librdf0 libridl-java libservlet-api-java
  libservlet3.1-java libtommath1 libuno-cppu3 libuno-cppuhelpergcc3-3 libuno-purpenvhelpergcc3-3 libuno-sal3 libuno-salhelpergcc3-3 libunoil-java
  libunoloader-java libwebsocket-api-java libwpd-0.10-10 libwpg-0.3-3 libwps-0.4-4 libxmlsec1 libxmlsec1-nss lp-solve uno-libs-private ure
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  speedtest
0 upgraded, 1 newly installed, 0 to remove and 38 not upgraded.
Need to get 1.106 kB of archives.
After this operation, 2.628 kB of additional disk space will be used.
Get:1 https://packagecloud.io/ookla/speedtest-cli/ubuntu focal/main amd64 speedtest amd64 1.2.0.84-1.ea6b6773cf [1.106 kB]
Fetched 1.106 kB in 3s (391 kB/s)    
Selecting previously unselected package speedtest.
(Reading database ... 327052 files and directories currently installed.)
Preparing to unpack .../speedtest_1.2.0.84-1.ea6b6773cf_amd64.deb ...
Unpacking speedtest (1.2.0.84-1.ea6b6773cf) ...
Setting up speedtest (1.2.0.84-1.ea6b6773cf) ...
Processing triggers for man-db (2.9.1-1) ...