###### tags: `User Management`
# User Management - Part 2
### TEST SCENARIO - FITUR TAMBAH PERAN
```gherkin=
Scenario: Super Admin - menambahkan peran dan hak akses baru dengan role selain Admin
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form
Tambah Peran And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
And User klik 'Pilih Modul' pada form Tambah Peran
And User pilih modul <nama_modul> pada form Tambah Peran
And User pilih menu <nama_menu> pada form Tambah Peran
And User klik tombol 'Tambah Data' pada form Tambah Peran
And Muncul pop up 'Simpan Peran & Hak Akses'
And User klik tombol 'Simpan' pada pop up 'Simpan Peran & Hak Akses'
Then Data peran baru tersimpan dan ditampilkan pada Tabel Pengaturan Peran dan Hak Akses
Examples:
|daerah_PDAM|nama_peran_baru |hak_akses |nama_modul|nama_menu |
|PDAM Bojonegoro|Operator PDAM 1 |Staff Operator PDAM |Baca Meter|Hasil Baca |
|PDAM Bojonegoro|Supervisor Baca Meter|Staff Supervisor PDAM|Baca Meter|Hasil Baca, Produktivitas, Pemetaan Pelanggan|
Scenario: Admin menambahkan peran dan hak akses baru
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
And User klik 'Pilih Modul' pada form Tambah Peran
And User pilih modul <nama_modul> pada form Tambah Peran
And User pilih menu <nama_menu> pada form Tambah Peran
And User klik tombol 'Tambah Data' pada form Tambah Peran
And Muncul pop up 'Simpan Peran & Hak Akses'
And User klik tombol 'Simpan' pada pop up 'Simpan Peran & Hak Akses'
Then Data peran baru tersimpan dan ditampilkan pada Tabel Pengaturan Peran dan Hak Akses
Examples:
|daerah_PDAM|nama_peran_baru |hak_akses |nama_modul|nama_menu |
|PDAM Bantul|Operator PDAM A |Staff Operator PDAM |Baca Meter|Hasil Baca |
|PDAM Bantul|Supervisor Baca Meter 1|Staff Supervisor PDAM|Baca Meter|Hasil Baca, Produktivitas, Pemetaan Pelanggan|
Scenario: User batal menambahkan peran dan hak akses baru
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
And User klik tombol 'Batal' pada form Tambah Peran
Then User diarahkan kembali ke halaman menu Peran & Hak Akses
Examples:
|daerah_PDAM |nama_peran_baru |hak_akses |
|PDAM Solo |Supervisor Baca Meter 1|Staff Supervisor Baca Meter|
Scenario: User gagal menambahkan peran dan hak akses baru - belum memilih tingkat hak akses
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
Then User tidak bisa klik tombol 'Tambah Data' pada form Tambah Peran
Examples:
|daerah_PDAM |nama_peran_baru |
|PDAM Bojonegoro|Operator Baca Meter 2|
Scenario: User gagal menambahkan peran dan hak akses baru - belum input nama peran baru
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
And Muncul pesan error <error_message> pada field Nama Peran Baru
Then User tidak bisa klik tombol 'Tambah Data' pada form Tambah Peran
Examples:
|daerah_PDAM|nama_peran_baru|hak_akses |error_message|
|PDAM Solo | |Staff Administrator PDAM|Required. |
Scenario: User menambahkan peran dan hak akses baru tanpa memilih modul
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
Then User tidak klik tombol 'Tambah Data' pada form Tambah Peran
Examples:
|daerah_PDAM|nama_peran_baru|hak_akses |
|PDAM Solo |Operator B |Staff Operator PDAM|
Scenario: User menambahkan peran dan hak akses baru tanpa memilih menu modul
Given User berada pada halaman menu Peran & Hak Akses
When User memilih daerah PDAM <daerah_PDAM> pada halaman menu Peran & Hak Akses
And User klik tombol 'Tambah Peran' halaman menu Peran & Hak Akses
Then Pop Up form untuk Tambah Peran ditampilkan
When User memasukkan nama peran baru <nama_peran_baru> pada form Tambah Peran
And User klik 'Tingkatan Hak Akses' pada form Tambah Peran
And User pilih hak akses <hak_akses> pada form Tambah Peran
And User klik 'Pilih Modul' pada form Tambah Peran
And User pilih modul <nama_modul> pada form Tambah Peran
And User klik tombol 'Tambah Data' pada form Tambah Peran
And Muncul pop up 'Simpan Peran & Hak Akses'
And User klik tombol 'Simpan' pada pop up 'Simpan Peran & Hak Akses'
Then Muncul pop up dengan pesan error <error_message> pada halaman Peran & Hak Akses
Examples:
|daerah_PDAM |nama_peran_baru|hak_akses |nama_modul|error_message |
|PDAM Solo |Operator B |Staff Operator PDAM|Baca Meter|The acl.menus field must have a value|
```
### TEST SCENARIO - FITUR UBAH PERAN
```gherkin=
Scenario: User merubah data nama peran
Given User berada pada halaman menu Peran & Hak Akses
When User menentukan nama peran <nama_peran> yang akan diubah
And User klik ikon edit pada <nama_peran>
Then Pop up form Edit Peran ditampilkan
When User merubah nama peran baru menjadi <nama_peran_baru> pada form Edit Peran
And User klik tombol 'Edit Data' pada form Edit Peran
And Muncul pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
And User klik button 'Simpan' pada pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
Then Data nama peran pada tabel Peran dan Hak Akses berhasil diubah
Examples:
|nama_peran |nama_peran_baru|
|Ops Singaraja 1|Ops Singaraja |
Scenario: User merubah data akses menu
Given User berada pada halaman menu Peran & Hak Akses
When User menentukan nama peran <nama_peran> yang akan diubah
And User klik ikon edit pada <nama_peran> Then Pop up form Edit Peran ditampilkan
And User pilih menu <nama_menu> pada form Edit Peran
And User klik tombol 'Edit Data' pada form Edit Peran
And Muncul pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
And User klik button 'Simpan' pada pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
Then Data akses modul dan menu pada tabel Peran dan Hak Akses berhasil diubah
Examples:
|nama_peran |nama_modul|nama_menu |
|Ops Singaraja 1|Baca Meter|Supervisi Baca Meter|
Scenario: User merubah data akses modul dan menu
Given User berada pada halaman menu Peran & Hak Akses
When User menentukan nama peran <nama_peran> yang akan diubah
And User klik ikon edit pada <nama_peran> Then Pop up form Edit Peran ditampilkan
When User klik dropdown 'Pilih Modul' pada form Edit Peran
And User pilih modul <nama_modul> pada form Edit Peran
And User pilih menu <nama_menu> pada form Edit Peran
And User klik tombol 'Edit Data' pada form Edit Peran
And Muncul pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
And User klik button 'Simpan' pada pop up 'Simpan Peran & Hak Akses' untuk Edit Peran
Then Data akses modul dan menu pada tabel Peran dan Hak Akses berhasil diubah
Examples:
|nama_peran |nama_modul|nama_menu |
|Ops Singaraja 1|Baca Meter|Supervisi Baca Meter|
```
### TEST SCENARIO - FITUR HAPUS PERAN
```gherkin=
Scenario: User menghapus satu peran/hak akses
Given User berada pada halaman menu Peran dan Hak Akses
When User memilih nama peran <nama_peran> yang akan dihapus
And User klik ikon delete pada <nama_peran>
And Muncul pop up 'Hapus Detail Peran dan Hak Akses' pada halaman Peran dan Hak Akses
And User klik tombol 'Hapus' pada pop up 'Hapus Detail Peran dan Hak Akses'
Then Data <nama_peran> berhasil dihapus
Examples:
|nama_peran |
|Ops Singaraja 1|
Scenario: User menghapus lebih dari satu peran/hak akses
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 'Hapus' pada pop up 'Hapus Detail Peran dan Hak Akses'
Then Data <daftar_nama_peran> berhasil dihapus
Examples:
|daftar_nama_peran |
|Ops Singaraja 1, Ops Singaraja 2|
Scenario: User batal menghapus satu peran/hak akses
Given User berada pada halaman menu Peran dan Hak Akses
When User memilih nama peran <nama_peran> yang akan dihapus
And User klik ikon delete pada <nama_peran>
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:
|nama_peran |
|Ops Singaraja 1|
Scenario: User batal menghapus lebih dari satu peran/hak akses
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 PENCARIAN PERAN
```gherkin=
Scenario: User melakukan pencarian role dengan keyword yang sesuai
Given User berada pada halaman menu Peran dan Hak Akses
When User memasukkan keyword <keyword> pada field pencarian di halaman menu Peran dan Hak Akses
Then Data sesuai keyword <keyword> yang dimasukkan ditampilkan pada tabel
Examples:
|keyword |
|Admin |
Scenario: User gagal melakukan pencarian role dengan keyword yang tidak sesuai
Given User berada pada halaman menu Peran dan Hak Akses
When User memasukkan keyword <keyword> pada field pencarian di halaman menu Peran dan Hak Akses
Then Muncul pesan error <message> pada tabel pada halaman menu Peran dan Hak Akses
Examples:
|keyword|message |
|ADMINX |No matching records found|
```