Week 4 & 5 – Hadi Syah Putra

Sebelum ceritain progres, saya mau sedikit cerita tentang TDD. TDD alias test driven development merupakan sebuah pendekatan pengembangan yang menggabungkan pembuatan TFD atau test-first development dengan refactoring. TFD sendiri adalah ketika kita buat test terlebih dahulu sebelum membuat kodingan yang dapat memenuhi test tersebut. Tujuan dari TDD jadinya merupakan spesifikasi, bukan validasi atau dengan kata lain kita harus benar-benar paham mengenai requirement dan desain yang ada sebelum masuk ke dalam tahap functional. Selain itu TDD juga bertujuan agar programmer dapat menulis code dengan baik mengikuti kaidah clean code.

Pada minggu ini saya belajar kembali konsep testing dan membuat beberapa testing, yaitu DatabaseTest, HistoryTest, dan UserTest. Kelas DatabaseTest untuk mengecek apakah benar ada data tertentu di dalam database. Berikut merupakan contoh fungsinya:

public function testUsersTable()
{
$this->assertDatabaseHas(‘users’, [‘id’ => ‘1’]);
$this->assertDatabaseHas(‘users’, [‘name’ => ‘Angga Dwi Arifandi’]);
$this->assertDatabaseHas(‘users’, [’email’ => ‘namapanjanggua@gmail.com’]);
$this->assertDatabaseHas(‘users’, [‘points’ => ‘0’]);
$this->assertDatabaseHas(‘users’, [‘id’ => ‘1’]);
}

Kelas HistoryTest digunakan untuk mengecek api yang ada di kelas HistoryController. Berikut contoh fungsi pada kelas test tersebut:
public function testGetAllAttendances()
{
$response = $this->call(‘GET’, ‘api/histories’);
$this->assertEquals(200, $response->status());
}

Kelas UserTest digunakan untuk mengecek api yang ada di UserController. Berikut contoh fungsi pada kelas test tersebut:

public function testLogin()
{
$response = $this->call(‘POST’, ‘api/user/login’, [’email’ => ‘namapanjanggua@gmail.com’, ‘name’ => ‘Angga Dwi Arifandi’]);
$this->assertEquals(201, $response->status());
}

Selain itu saya juga membuat beberapa API yang dibutuhkan pada sprint 2 ini dan sudah di-test menggunakan postman, yaitu:

public function myhistory()
{
$user_id = Input::get(‘user_id’);
$year = Carbon::now()->year;
$attendances = History::where(‘user_id’, ‘=’, $user_id)
->whereYear(‘date’, ‘>=’, $year)->get();
return Response::json($attendances,201);
}

public function profile()
{
$id = Input::get(‘id’);
$user = User::find($id);
return Response::json($user,200);
}

Sekian post saya kali ini, semoga PPLA3 selalu diberikan kemudahan dan kelancaran. Aamiin :))

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s