parfum/tests/Feature/Livewire/Studio/Master/User/IndexTest.php

40 lines
924 B
PHP

<?php
use App\Livewire\Studio\Master\User\Index;
use App\Models\Employee;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Livewire;
uses(RefreshDatabase::class);
it('renders successfully', function () {
Livewire::test(Index::class)
->assertViewIs('livewire.studio.master.user.index')
->assertViewHas('pageTitle', 'Pegawai');
});
it('displays all users', function () {
User::factory()
->count(10)
->has(Employee::factory())
->create();
$user = User::first();
Livewire::test(Index::class)->assertSee($user->email);
});
it('can delete an user', function () {
$user = User::factory()
->has(Employee::factory())
->create();
Livewire::test(Index::class)
->call('delete', $user)
->assertHasNoErrors()
->assertDispatched('refreshDatatable');
expect(User::count())->toBe(0);
});