fix notification chanels and more tests (#108)

* fix notification chanels and more tests

* fix code style
This commit is contained in:
Saeed Vaziry
2024-02-16 21:10:17 +01:00
committed by GitHub
parent b75df8e1c5
commit f70963d6bb
103 changed files with 484 additions and 112 deletions

View File

@ -0,0 +1,79 @@
<?php
namespace Tests\Feature;
use App\Enums\FirewallRuleStatus;
use App\Http\Livewire\Firewall\CreateFirewallRule;
use App\Http\Livewire\Firewall\FirewallRulesList;
use App\Jobs\Firewall\AddToServer;
use App\Jobs\Firewall\RemoveFromServer;
use App\Models\FirewallRule;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\Bus;
use Livewire\Livewire;
use Tests\TestCase;
class FirewallTest extends TestCase
{
use RefreshDatabase;
public function test_create_firewall_rule(): void
{
Bus::fake();
$this->actingAs($this->user);
Livewire::test(CreateFirewallRule::class, ['server' => $this->server])
->set('type', 'allow')
->set('protocol', 'tcp')
->set('port', '1234')
->set('source', '0.0.0.0')
->set('mask', '0')
->call('create')
->assertSuccessful();
Bus::assertDispatched(AddToServer::class);
$this->assertDatabaseHas('firewall_rules', [
'port' => '1234',
]);
}
public function test_see_firewall_rules(): void
{
$this->actingAs($this->user);
$rule = FirewallRule::factory()->create([
'server_id' => $this->server->id,
]);
Livewire::test(FirewallRulesList::class, ['server' => $this->server])
->assertSee([
$rule->source,
$rule->port,
]);
}
public function test_delete_firewall_rule(): void
{
Bus::fake();
$this->actingAs($this->user);
$rule = FirewallRule::factory()->create([
'server_id' => $this->server->id,
]);
Livewire::test(FirewallRulesList::class, ['server' => $this->server])
->set('deleteId', $rule->id)
->call('delete')
->assertSuccessful();
Bus::assertDispatched(RemoveFromServer::class);
$this->assertDatabaseHas('firewall_rules', [
'id' => $rule->id,
'status' => FirewallRuleStatus::DELETING,
]);
}
}