Anda di halaman 1dari 2

NETWORK LABORATORY

Electrical Engineering Department, 2nd floor


Universitas Indonesia
Depok. 16424

PEMROGRAMAN BERORIENTASI OBJEK 2020/2021


Post Test
MODUL 8: Web Service
Tugas 1: InvoiceController

1. Buat method getAllInvoice() yang akan mengembalikan seluruh invoice pada


DatabaseInvoice . Method ini dapat diakses dengan menggunakan request GET pada
URL http://localhost/invoice.
2. Buat method getInvoiceById() yang akan mengembalikan Invoice dengan id tertentu.
Method ini dapat diakses dengan menggunakan request GET pada URL
http://localhost/invoice/{id} dengan id adalah id invoice yang ingin diambil.
3. Buat method getInvoiceByJobseeker() yang akan mengembalikan Invoice dengan id
Jobseeker tertentu. Method ini dapat diakses dengan menggunakan request GET pada
URL http://localhost/invoice/Jobseeker/{JobseekerId} dengan JobseekerId adalah id
Jobseeker yang ada di Invoice.
4. Buat method changeInvoiceStatus() yang akan mengubah status pada sebuah invoice
menjadi canceled/finished. Gunakan request parameter sesuai dengan Enum
InvoiceStatus. Method ini akan mengembalikan invoice yang diubah jika status invoice
berhasil diubah dan null jika tidak. Method ini dapat diakses dengan menggunakan
request PUT pada URL http://localhost/invoice/invoiceStatus/{id} dengan Id adalah id
invoice yang ingin dirumah statusnya dan
5. Buat method removeInvoice() yang akan menghapus invoice dari InvoiceDatabase.
Method ini akan mengembalikan nilai Boolean. Method ini dapat diakses dengan
menggunakan request DELETE pada URL http://localhost/invoice/{id} dengan Id adalah
id invoice yang ingin dihapus.
6. Buat method addBankPayment() yang akan membuat sebuah invoice dari request
parameter yang dikirimkan. Jangan lupa untuk memanggil method set total price agar
harga ter-update. Masukan juga invoice tersebut ke database. Method ini akan
mengembalikan invoice yang berhasil masuk ke database. Jika tidak berhasil, maka
method ini akan mengembalikan nilai null. Method ini dapat diakses dengan
menggunakkan request POST pada URL http://localhost/invoice/createBankPayment.
(Hint: Ambil objek Job dan Jobseeker dari Database)
7. Buat method addEWalletPayment() yang akan membuat sebuah invoice dari parameter
yang dikirimkan. Jangan lupa untuk memanggil method set total price agar harga
terupdate. Masukan juga invoice tersebut ke database. Method ini akan mengembalikan
invoice yang berhasil masuk ke database. Jika tidak berhasil, maka method ini akan
mengembalikan nilai null. Method ini dapat diakses dengan menggunakkan request
POST pada URL http://localhost/invoice/createEWalletPayment.
(Hint: Ambil objek Job, Bonus dan Jobseeker dari Database)

Tugas 2: Uji Coba

Screenshotlah setiap hasil pengujian. Gunakan API yang ada untuk melakukan pengujian
dibawah ini

1. Buatlah 2 buah pesanan dengan Jobseeker yang sama. Screenshot hasilnya. Apa
yang terjadi? Jelaskan secara singkat!
2. Ubahlah status pesanan terebut menjadi Finished!
3. Buatlah 1 pesanan lagi dengan Jobseeker yang berbeda!
4. Ubahlah status pesanan tersebut menjadi Canceled!
5. Ambil seluruh invoice pada database!
6. Hapuslah salah satu invoice pada database (bebas)!
7. Ambil salah satu invoice dengan menggunkan parameter id(bebas)!
8. Ambil salah satu invoice dengan menggunkan recruiter id(bebas)!

Soal Bonus

Soal ini akan menjadi nilai bonus jika berhasil dikerjakan dalam masa pengumpulan Post Test.

1. Push terlebih dahulu, code yg sudah anda buat


2. Ubahlah code method addBankPayment dan addEWalletPayment untuk menghandle jika
request tidak mengirimkan bonus code / adminFee
3. Ujilah dan Screenshoot hasilnya
4. Push dengan commit message “PostTest Bonus Modul 8”

Anda mungkin juga menyukai