Weekly Report #13 — Firza

Pada minggu lalu, saya mempelajari bagaimana cara membuat API dengan Apiary yang diajari oleh Teresa Pranyoto. Untuk membuatnya, di happystock dibuat direktori API dengan struktur:

controller/
|.. api/
|.. oosrate.rb
|.. replacements.rb
|.. trend.rb
|..

API yang sedang saya kerjakan pada http://docs.happystock.apiary.io adalah Get trend data for a period time dengan tipe POST. Untuk mengimplementasikannya, pada controller API didefinisikan sebagai berikut

def action# kode di siniend

Unit Test — Model

Saya belajar unit test model di http://guides.rubyonrails.org/testing.html#unit-testing-your-models

Ketika kita mengenter command rails generate <app>, Rails akan secara otomatis mengenerate direktori test yang akan menjadi tempat pengembang untuk membuat unit test. Karena sebelumnya saya mengerjakan fitur Trend yang berkaitan dengan model Threshold, maka saya akan melakukan unit test model. Pada threshold_test.rb

require 'test_helper'class ThresholdTest < ActiveSupport::TestCase
# test "the truth" do
# assert true
# end
end

‘test_helper.rb’ menspesifikasikan default konfigurasi untuk menjalankan test yang mengandung semua test sehingga semua method yang ditambahkan pada file ini akan berlaku untuk semua test.

TresholdTest mendefinisikan test case karena itu menginherit ActiveSupport::TestCase. Semua method yang didefinisikan pada Minitest::Test yang dimulai dengan test_ adalah sebuah test, contoh test_password dan test_valid-password dan akan dijalankan secara otomatis ketika TestCase dijalankan.

Living Documentation

Saya juga membuat living documentation, yang mana living documentation adalah sebuah dokumentasi yang berisikan penjelasan perubahan yang terjadi pada code base sehingga tim pengembang lainnya dapat memahami perubahan yang ada. Saya membuat format sehingga team saya yang lain mudah untuk mengisinya. Formatnya sebagai berikut:

<Tanggal — Bulan — Tahun>

<Konten mengandung:

  • Mengapa diubah
  • Perubahannya seperti apa dan di mana saja
  • Outputnya apa
  • Jika ada bug / problem, bilang bug nya apa>

Di living documentation tersebut saya menuliskan secara lengkap apa yang saya lakukan terkait Trend.

Living Documentation

Red Panda

We are @firza_pratama, @idadidut, @irfan3, @kennabila, @pnteresa, and @shylla working on a challenging Software Engineering project at HappyFresh. Here, we share our stories.

Muhammad Firza Pratama

Written by

Red Panda

Red Panda

We are @firza_pratama, @idadidut, @irfan3, @kennabila, @pnteresa, and @shylla working on a challenging Software Engineering project at HappyFresh. Here, we share our stories.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade