TIF_E41200988/Pengukuran Kinerja Dosen/tests/Feature/datauser.php

84 lines
2.3 KiB
PHP

<?php
namespace Tests\Feature;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;
use App\Models\UserModel;
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\DB;
use Illuminate\Http\Request;
use Illuminate\Support\Collection;
class datauser extends TestCase
{
public function testAddUser()
{
// Tambahkan pengguna baru
$newUser = UserModel::create([
'id_user_level' => 2,
'nama' => 'New User',
'email' => 'newuser@example.com',
'username' => 'newuser',
'password' => 'password'
]);
// Ambil semua pengguna dari database
$users = UserModel::get_user();
// Pastikan pengguna baru telah berhasil ditambahkan
$this->assertInstanceOf(UserModel::class, $newUser);
$this->assertCount(6, $users);
$this->assertFalse($users->contains('id_user', $newUser->id)); // Menggunakan ID pengguna baru sebagai kunci
}
public function testDeleteUser()
{
// Ambil pengguna pertama dari database
$user = UserModel::first();
// Hapus pengguna tersebut
$deleted = $user->delete();
// Ambil semua pengguna setelah penghapusan
$users = UserModel::get_user();
// Pastikan pengguna berhasil dihapus dan jumlah pengguna berkurang
$this->assertTrue($deleted);
$this->assertCount(5, $users);
$this->assertNotContains($user, $users);
}
public function testGetUserM(){
$users = UserModel::get_user();
// Memastikan bahwa data yang dikembalikan adalah instance dari Collection
$this->assertInstanceOf(Collection::class, $users);
// Memastikan bahwa jumlah pengguna sesuai dengan yang diharapkan
$this->assertCount(5, $users);
// Memeriksa setiap pengguna
foreach ($users as $user) {
$this->assertInstanceOf(UserModel::class, $user);
// Tambahkan assertion untuk memeriksa apakah atribut tidak kosong dan tidak NULL
$this->assertNotEmpty($user->nama);
$this->assertNotEmpty($user->email);
$this->assertNotEmpty($user->username);
$this->assertNotEmpty($user->password);
// Tambahkan assertion untuk memeriksa apakah atribut tidak NULL
$this->assertNotNull($user->nama);
}
}
}