Mengimplementasikan Test Driven Development Pada Framework Laravel Part 3

laravelbaru.png

Halo teman-teman, gimana nih ? masih mau kita lanjutin gak belajarnya ? masih pada semangat kan ? hahahaha kita akan buat validasi test di tiap fieldnya, maksudnya adalah ketika salah satu datanya kosong maka data nya tidak dapat tersimpan.


Oke lanjut …


Silahkan tambahkan code dibawah ini pada file MahasiswaTest.php


public function should_error_when_namaDepan_not_provided()
    {
        $response = $this->post('/api/mahasiswa/add', [
            'namaBelakang' => 'Sipayung',
            'jenisKelamin' => 'L',
            'fakultas' => 'FITE',
            'prodi' => 'D3 Teknologi Informasi',
            'email' => 'sipayung09091999@gmail.com'
        ]);
        $response->assertSessionHasErrors('namaDepan');
    }


Disini kita menuliskan test dimana akan memberikan response assertSessionHasErrors ketika field (data) nama nya kosong atau tidak ada.


Kita jalankan kembali test nya


aa.png


Test kita masih belum pass karena yang kita inginkan adalah ketika field namaDepan kosong maka datanya tidak akan tersimpan. Hal yang harus kita lakukan adalah membuat validasi pada file MahasiswaController.php


Kita akan mengupdate kode pada file MahasiswaController.php seperti dibawah ini


<?php

namespace App\Http\Controllers;

use App\Mahasiswa;
use Illuminate\Http\Request;


class MahasiswaController extends Controller
{
    public function create(Request $request) {
        $validatedRequest = $this->validateRequest($request);
        Mahasiswa::create([
            'namaDepan' => request('namaDepan'),
            'namaBelakang' => request('namaBelakang'),
            'jenisKelamin' => request('jenisKelamin'),
            'fakultas' => request('fakultas'),
            'prodi' => request('prodi'),
            'email' => request('email')
        ]);
    }
    public function validateRequest(Request $request){
        $request->validate([
            'namaDepan' => 'required'
        ]);
    }
}


Selanjutnya kita jalankan kembali test nya


ss.png


Dan akhrinya test kita pass. Sekarang tugas teman-teman adalah membuat validasi test semua field seperti namaBelakang, jenisKelamin dan yang lain nya.


Disini saya sudah memvalidasi semua field dan mendapatkan semuat test nya pass


dd.png


Selamat kita sudah belajar mengimplementasikan TDD pada studi kasus yang sederhana pada framework Laravel.


Teman-teman bisa melakukan improvisasi dengan menambahkan skenario lainnya untuk test nya. Semoga materi yang saya bagikan bermanfaat, terimakasih.



php laravel
avatar nel09

Ditulis oleh @nel09

"Berbagi ilmu dan hal menarik lainnya kepada orang banyak, agar menjadi manfaat"