Mengimplementasikan Test Driven Development Pada Framework Laravel Part 3

Halo teman-teman, gimana nih ? masih mau kita lanjutin gak belajarnya ? masih pada semangat kan ? hahahaha kita akan buat validasi test di tiap fieldn...

cover Mengimplementasikan Test Driven Development Pada Framework Laravel Part 3

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

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 meng update 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

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

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.

avatar nel09
@nel09

0 Kontribusi 0 Poin

Diperbarui 3 tahun yang lalu

Bagian dari artikel seri

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban