###### tags: `User Management`
# User Management - Part 3
### TEST SCENARIO - FITUR TAMBAH PENGGUNA
```gherkin=
Scenario: User - Tambah Data Informasi Dasar Pengguna baru
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And User klik tombol 'Lanjutkan' pada form Informasi Dasar
Then User diarahkan ke form Atur Kata Sandi
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |
|Supervisor A|Supervisor A |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (salah satu field kosong)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message|
| |Supervisor A |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|Required. |
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nama Lengkap kurang dari 4 karakter)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Sup |Supervisor A |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|Minimum 4 karakter|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nama Lengkap mengandung angka atau spesial karakter)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Supervisor 1|Supervisor A |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|Nama tidak boleh mengandung angka atau karakter khusus seperti @,#|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nama Pengguna kurang dari 4 karakter)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Supervisor A|Sup |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|Minimum 4 karakter|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nama Lengkap mengandung angka atau spesial karakter)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Supervisor A|Supervisor 1 |supervisor@pdam-solo.com|081234567890 |Supervisor PDAM|Nama tidak boleh mengandung angka atau karakter khusus seperti @,#|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Format email tidak sesuai)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Supervisor A|Supervisor 1 |supervisor@pdam-solo|081234567890 |Supervisor PDAM|Email belum sesuai format|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nomor Handphone kurang dari 10 karakter)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message |
|Supervisor A|Supervisor 1 |supervisor@pdam-solo|0812345 |Supervisor PDAM|Minimum 10 karakter|
Scenario: User - Tambah Data Informasi Dasar Pengguna baru (Nomor Handphone bukan angka)
Given User berada pada halaman menu Daftar Pengguna
When User klik tombol 'Tambah Pengguna' pada halaman menu Daftar Pengguna
Then Pop Up 'Tambah Pengguna' ditampilkan
When User memasukkan Nama Lengkap <nama_lengkap> pada form Informasi Dasar
And User memasukkan Nama Pengguna <nama_pengguna> pada form Informasi Dasar
And User memasukkan Alamat Email <alamat_email> pada form Informasi Dasar
And User memasukkan Nomer Handphone <nomer_handphone> pada form Informasi Dasar
And User klik 'Pilih Peran' pada form Informasi Dasar
And User pilih peran <nama_peran> pada form Informasi Dasar
And Muncul pesan error <error_message> pada form Informasi Dasar
Then User tidak bisa klik tombol 'Lanjutkan' pada form Informasi Dasar
Examples:
|nama_lengkap|nama_pengguna|alamat_email |nomer_handphone|nama_peran |error_message|
|Supervisor A|Supervisor 1 |supervisor@pdam-solo|0812345kalkdiw |Supervisor PDAM|Harus Angka! |
Scenario: User - Atur Sandi Pengguna Benar
Given User sudah mengisi data Informasi Dasar dan berada pada form Atur Kata Sandi
When User memasukkan Kata Sandi <kata_sandi> pada form Atur Kata Sandi
And User memasukkan Konfirmasi Kata Sandi <konfirmasi_sandi> pada form Atur Kata Sandi
And User klik tombol 'Simpan' pada form Atur Kata Sandi
Then Data pengguna baru dengan status aktif berhasil ditambahkan
Examples:
|kata_sandi|konfirmasi_sandi|
|PdamxY93 |PdamxY93 |
Scenario: User - Atur Sandi Pengguna tidak sesuai format
Given User sudah mengisi data Informasi Dasar dan berada pada form Atur Kata Sandi
When User memasukkan Kata Sandi <kata_sandi> pada form Atur Kata Sandi
Then Muncul pesan error <error_message> dibawah field Kata Sandi
Examples:
|kata_sandi|error_message |
|pdam |Minimal 8 karakter |
|pdamxy93 |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
|pdamxyz |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
|Pdamxyz |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
Scenario: User - Konfirmasi Kata Sandi tidak sesuai
Given User sudah mengisi data Informasi Dasar dan berada pada form Atur Kata Sandi
When User memasukkan Kata Sandi <kata_sandi> pada form Atur Kata Sandi
And User memasukkan Konfirmasi Kata Sandi <konfirmasi_sandi> pada form Atur Kata Sandi
Then Muncul pesan error <error_message> dibawah field Konfirmasi Kata Sandi
Examples:
|kata_sandi|konfirmasi_sandi|error_message |
|PdamxY93 |Pdamxy93 |Password tidak sama!|
```
### TEST SCENARIO - FITUR UBAH KATA SANDI
### TEST SCENARIO - FITUR HAPUS PENGGUNA
```gherkin=
Scenario: User menghapus data satu pengguna
Given User berada pada halaman menu Daftar Pengguna
When User memilih nama pengguna <nama_pengguna> yang akan dihapus
And User klik ikon delete pada <nama_pengguna>
And Muncul pop up 'Hapus Detail Pengguna' pada halaman Daftar Pengguna
And User klik tombol 'Hapus' pada pop up 'Hapus Detail Pengguna'
Then Data <nama_pengguna> berhasil dihapus
Examples:
|nama_pengguna|
|Awan |
Scenario: User menghapus data lebih dari satu pengguna
Given User pada halaman menu Daftar Pengguna
When User memilih beberapa nama pengguna <daftar_nama_pengguna> yang akan dihapus
And User klik checklist pada nama pengguna <daftar_nama_pengguna> yang akan dihapus
And User klik tombol 'Hapus Pengguna' pada halaman Daftar Pengguna
And Muncul pop up 'Hapus Detail Pengguna' pada halaman Daftar Pengguna
And User klik tombol 'Hapus' pada pop up 'Hapus Detail Pengguna'
Then Data <daftar_nama_pengguna> berhasil dihapus
Examples:
|daftar_nama_pengguna|
|Awan, Violet |
Scenario: User batal menghapus data satu pengguna
Given User berada pada halaman menu Daftar Pengguna
When User memilih nama pengguna <nama_pengguna> yang akan dihapus
And User klik ikon delete pada <nama_pengguna>
And Muncul pop up 'Hapus Detail Pengguna' pada halaman Daftar Pengguna
And User klik tombol 'Kembali' pada pop up 'Hapus Detail Pengguna'
Then User diarahkan kembali ke halaman menu Daftar Pengguna
Examples:
|nama_pengguna|
|Awan |
Scenario: User batal menghapus data lebih dari satu pengguna
Given User pada halaman menu Peran dan Hak Akses
When User memilih beberapa nama peran <daftar_nama_peran> yang akan dihapus
And User klik checklist pada nama peran <daftar_nama_peran> yang akan dihapus
And User klik tombol 'Hapus Peran' pada halaman Peran dan Hak Akses
And Muncul pop up 'Hapus Detail Peran dan Hak Akses' pada halaman Peran dan Hak Akses
And User klik tombol 'Kembali' pada pop up 'Hapus Detail Peran dan Hak Akses'
Then User diarahkan kembali ke halaman menu Peran dan Hak Akses
Examples:
|daftar_nama_peran |
|Ops Singaraja 1, Ops Singaraja 2|
```
### TEST SCENARIO - FITUR UBAH STATUS PENGGUNA
```gherkin=
Scenario: User mengubah status pengguna
Given User berada pada halaman menu Daftar Pengguna
When User pilih pengguna <nama_pengguna> dengan status <status_pengguna>
And User klik tombol status
Then Status User berubah menjadi <status>
Examples:
|nama_pengguna |status_pengguna|status |
|Supervisor PDAM Solo|Aktif |Tidak Aktif|
|Supervisor PDAM Solo|Tidak Aktif |Aktif |
```
### TEST SCENARIO - FITUR PENCARIAN PENGGUNA
```gherkin=
Scenario: User melakukan pencarian pengguna dengan keyword yang sesuai
Given User berada pada halaman menu Daftar Pengguna
When User memasukkan keyword <keyword> pada field pencarian di halaman menu Daftar Pengguna
Then Data sesuai keyword <keyword> yang dimasukkan ditampilkan pada tabel
Examples:
|keyword|
|Admin |
Scenario: User gagal melakukan pencarian pengguna dengan keyword yang tidak sesuai
Given User berada pada halaman menu Daftar Pengguna
When User memasukkan keyword <keyword> pada field pencarian di halaman menu Daftar Pengguna
Then Muncul pesan error <message> pada tabel pada halaman menu Daftar Pengguna
Examples:
|keyword|message |
|ADMINX |Pencarian Tidak Ditemukan|
```
### TEST SCENARIO - FITUR UBAH KATA SANDI
```gherkin=
Scenario: User Ubah Kata Sandi Pengguna Benar
Given User berada pada halaman User Management
When User klik navigation menu
And User klik 'Ubah Kata Sandi'
And User memasukkan Kata Sandi saat ini <current_password> pada form Ubah Kata Sandi
And User memasukkan Kata Sandi Baru <kata_sandi> pada form Ubah Kata Sandi
And User memasukkan Konfirmasi Kata Sandi <konfirmasi_sandi> pada form Ubah Kata Sandi
And User klik tombol 'Simpan Data' pada form Ubah Kata Sandi
Then Kata Sandi berhasil diubah
Examples:
|current_password|kata_sandi|konfirmasi_sandi|
|admin123456 |PdamxY93 |PdamxY93 |
Scenario: User Ubah Kata Sandi Pengguna Kata Sandi saat ini kurang dari 8 karakter
Given User berada pada halaman User Management
When User klik navigation menu
And User klik 'Ubah Kata Sandi'
And User memasukkan Kata Sandi saat ini <current_password> pada form Ubah Kata Sandi
Then Muncul pesan error <error_message> dibawah field Kata Sandi saat ini
Examples:
|current_password|error_message |
|admin |Min 8 characters|
Scenario: User Ubah Kata Sandi Pengguna Kata Sandi baru tidak sesuai format
Given User berada pada halaman User Management
When User klik navigation menu
And User klik 'Ubah Kata Sandi'
And User memasukkan Kata Sandi saat ini <current_password> pada form Ubah Kata Sandi
And User memasukkan Kata Sandi Baru <kata_sandi> pada form Ubah Kata Sandi
Then Muncul pesan error <error_message> dibawah field Kata Sandi Baru
Examples:
|current_password|kata_sandi|error_message |
|admin123456 |pdam |Min 8 characters |
|admin123456 |pdamxy93 |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
|admin123456 |pdamxyz |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
|admin123456 |Pdamxyz |Harus kombinasi huruf dan angka serta minimal satu huruf kapital!|
Scenario: User Ubah Kata Sandi - Konfirmasi Kata Sandi tidak sesuai
Given User berada pada halaman User Management
When User klik navigation menu
And User klik 'Ubah Kata Sandi'
And User memasukkan Kata Sandi saat ini <current_password> pada form Ubah Kata Sandi
And User memasukkan Kata Sandi Baru <kata_sandi> pada form Ubah Kata Sandi
And User memasukkan Konfirmasi Kata Sandi <konfirmasi_sandi> pada form Ubah Kata Sandi
Then Muncul pesan error <error_message> dibawah field Konfirmasi Kata Sandi
Examples:
|current_password|kata_sandi|konfirmasi_sandi|error_message |
|admin123456 |PdamxY93 |pdam |Min 8 characters |
|admin123456 |PdamxY93 |Pdamxy93 |Password tidak sama!|
```