mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-15 09:12:32 -04:00
51 lines
1.6 KiB
PHP
51 lines
1.6 KiB
PHP
<?php
|
|
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
uses(RefreshDatabase::class);
|
|
|
|
it('closes the table dropdown without calling window.close when an option is clicked', function () {
|
|
$stack = seedBrowserResourceStack();
|
|
|
|
$page = visit('/login')
|
|
->fill('email', 'test@example.com')
|
|
->fill('password', 'password')
|
|
->click('Login')
|
|
->assertSee('Dashboard')
|
|
->navigate(route('project.resource.create', [
|
|
'project_uuid' => $stack['project']->uuid,
|
|
'environment_uuid' => $stack['environment']->uuid,
|
|
]))
|
|
->assertSee('Filter');
|
|
|
|
$page->script(<<<'JS'
|
|
() => {
|
|
window.__windowCloseCalls = 0;
|
|
window.close = () => window.__windowCloseCalls++;
|
|
[...document.querySelectorAll('button')].find(button => button.textContent.trim() === 'Filter').click();
|
|
}
|
|
JS);
|
|
$page->wait(0.5);
|
|
|
|
$page->script(<<<'JS'
|
|
() => [...document.querySelectorAll('[role="option"]')]
|
|
.find(option => option.textContent.trim() === 'Applications')
|
|
.click()
|
|
JS);
|
|
$page->wait(0.5);
|
|
|
|
$state = $page->script(<<<'JS'
|
|
() => {
|
|
const trigger = [...document.querySelectorAll('button')].find(button => button.textContent.trim() === 'Filter');
|
|
|
|
return {
|
|
windowCloseCalls: window.__windowCloseCalls,
|
|
open: Alpine.$data(trigger.closest('[x-data]')).open,
|
|
};
|
|
}
|
|
JS);
|
|
|
|
expect($state)->toBe(['windowCloseCalls' => 0, 'open' => false]);
|
|
$page->screenshot(filename: 'table-dropdown-close');
|
|
});
|