parfum/tests/Feature/Livewire/Studio/Master/Outlet/CreateTest.php
2025-09-19 19:59:01 +07:00

38 lines
1.2 KiB
PHP

<?php
use App\Livewire\Studio\Master\Outlet\Create;
use App\Livewire\Studio\Master\Outlet\Index;
use App\Models\Outlet;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Livewire\Livewire;
uses(RefreshDatabase::class);
it('renders successfully', function () {
Livewire::test(Create::class)
->assertViewIs('livewire.studio.master.outlet.form')
->assertViewHas('pageTitle', 'Tambah Outlet');
});
it('can create an outlet', function () {
$data = Outlet::factory()->operational()->raw();
Livewire::test(Create::class)
->set('form.name', $data['name'])
->set('form.phone_number', $data['phone_number'])
->set('form.address', $data['address'])
->set('form.landmark', $data['landmark'])
->set('form.maps_url', $data['maps_url'])
->set('form.opening_hours', $data['opening_hours'])
->set('form.facilities', $data['facilities'])
->set('form.opened_date', $data['opened_date'])
->set('form.status', $data['status']->value)
->call('save')
->assertRedirect(Index::class);
$this->assertDatabaseHas('outlets', [
'name' => $data['name'],
'phone_number' => $data['phone_number'],
]);
});