Fakultas Ilmu Komputer UI

Commit 55967d8a authored by YOGI LESMANA  SULESTIO's avatar YOGI LESMANA SULESTIO
Browse files

Revise post

parent 10cffb10
Pipeline #9934 passed with stages
in 2 minutes and 15 seconds
......@@ -6,16 +6,22 @@ author: yogi
---
--
Pada blog minggu ini, saya akan menceritakan pengalaman saya mengenai GMT, bukan Greenwich Mean Time, melainkan:
Git, Mock, dan TDD.
Pada blog minggu ini, saya akan menceritakan pengalaman saya mengenai GMT, bukan Greenwich Mean Time, melainkan
<!--more-->
Git, Mock, dan TDD.
Fitur yang saya kerjakan adalah logout dan membuat endpoint server serta pagination.
Pada fitur login dan logout, kami memutuskan untuk menggunakan Django REST Framework dikarenakan kebijakan autentikasinya yang mencakup OAuth1a dan OAuth2 serta Serialization yang mendukung ORM dan non-ORM.
Agar dapat mengimplementasikan fitur logout, saya menambahkan penggunaan REST_FRAMEWORK (TokenAuthentication dan SessionAuthentication) pada file settings.py
Pembuatan tes untuk fitur ini saya buat pada dua buah kondisi, yaitu saat pengguna mengakses /logout/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan fungsi baru berupa post pada file views.py yang akan mengambil token dari pengguna lalu dihapus.
![](/assets/images/logout.png)
Pada fitur pembuatan endpoint server, kami menggunakan DjangoModelFactory untuk membuat data dummy dan Serializer agar data yang kompleks dapat dikonversi ke dalam datatype milik Python sehingga dapat dirender ke dalam konten lain.
Untuk pengetesannya sendiri, saya mengikuti pengetesan pada fitur logout, yaitu saat pengguna mengakses /servers/ dalam keadaan belum dan sudah ter-logout.
Sedangkan untuk dapat menjalankan tesnya dengan baik, saya menambahkan path baru yang mencakup servers.urls pada file urls.py
![](/assets/images/model.png)
Pada fitur paginasi, saya hanya membuat tes yang akan membandingkan panjang dari data yang diterima serta menambahkan penggunaan pagination pada file views.py, ukuran page sebanyak 20 pada settings.py, dan kelas inner meta untuk membantu pengurutan ketika pagination berdasarkan id
![](/assets/images/page.png)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment