Modified API and created its tests
This commit is contained in:
81
tests/Feature/ApplicationTest.php
Normal file
81
tests/Feature/ApplicationTest.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Tests\TestCase;
|
||||
use Illuminate\Foundation\Testing\WithFaker;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
|
||||
class ApplicationTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase, WithFaker;
|
||||
|
||||
public function testCariDataSiswaSalahGagal()
|
||||
{
|
||||
$response = $this->json('POST', '/api/siswa', ['nama' => 'Sally', 'nisn' => '1234567890']);
|
||||
|
||||
$response
|
||||
->assertStatus(404)
|
||||
->assertJson([
|
||||
'siswa' => 'Siswa tidak ditemukan.'
|
||||
]);
|
||||
}
|
||||
|
||||
public function testCariDataSiswaTidakDiisiGagal()
|
||||
{
|
||||
$response = $this->json('POST', '/api/siswa', ['nama' => '', 'nisn' => '']);
|
||||
|
||||
$response
|
||||
->assertStatus(422)
|
||||
->assertJson([
|
||||
'message' => 'The given data was invalid.',
|
||||
'errors' => [
|
||||
'nama' => ['Kolom nama harus diisi.'],
|
||||
'nisn' => ['Kolom nisn harus diisi.'],
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
public function testCariDataSiswaBenarBerhasil()
|
||||
{
|
||||
$siswa = \App\Siswa::create([
|
||||
'nama' => 'Sally',
|
||||
'nisn' => '1234567890',
|
||||
'kelas' => 'xii mm 1',
|
||||
'tempat_lahir' => $this->faker->city(),
|
||||
'tanggal_lahir' => $this->faker->dateTime('now', 'Asia/Jakarta'),
|
||||
'lulus' => true,
|
||||
]);
|
||||
|
||||
$response = $this->json('POST', '/api/siswa', ['nama' => 'Sally', 'nisn' => '1234567890']);
|
||||
|
||||
$response
|
||||
->assertStatus(200)
|
||||
->assertJson([
|
||||
'nama' => $siswa->nama,
|
||||
'nisn' => $siswa->nisn,
|
||||
'kelas' => $siswa->kelas,
|
||||
'tempat_lahir' => $siswa->tempat_lahir,
|
||||
'tanggal_lahir' => $siswa->tanggal_lahir->toDateString(),
|
||||
'lulus' => true,
|
||||
]);
|
||||
}
|
||||
|
||||
public function testCariDataSiswaBenarMasukLog()
|
||||
{
|
||||
$siswa = \App\Siswa::create([
|
||||
'nama' => 'Sally',
|
||||
'nisn' => '1234567890',
|
||||
'kelas' => 'xii mm 1',
|
||||
'tempat_lahir' => $this->faker->city(),
|
||||
'tanggal_lahir' => $this->faker->dateTime('now', 'Asia/Jakarta'),
|
||||
'lulus' => true,
|
||||
]);
|
||||
|
||||
$response = $this->json('POST', '/api/siswa', ['nama' => 'Sally', 'nisn' => '1234567890']);
|
||||
|
||||
$this->assertDatabaseHas('access_logs', [
|
||||
'siswa_id' => $siswa->id,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user