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, ]); } }