Files
filament-whatsapp-conector/tests/Unit/StatusConnectionEnumTest.php
Wallace Martins 81bdf54c70 feat: add SendWhatsappMessageAction, WhatsappService and CanSendWhatsappMessage trait
- Add SendWhatsappMessageAction for sending messages from any Filament page/table
  - Support for text, image, video, audio and document messages
  - numberFrom() and instanceFrom() methods for record-based values
  - hideInstanceSelect(), hideNumberInput(), textOnly() options
  - allowedTypes() for limiting message types
  - disk() for custom storage

- Add WhatsappService with support for local and S3 storage
  - Automatic base64 encoding for media files
  - Temporary URL generation for S3

- Add CanSendWhatsappMessage trait for service integration
  - sendWhatsappText, sendWhatsappImage, sendWhatsappVideo, etc.
  - Customizable instance selection via getWhatsappInstanceId()

- Add Whatsapp Facade for quick access

- Fix Evolution API v2 payload format (flat structure, raw base64)

- Update README with comprehensive documentation

- Fix tests (WebhookControllerTest, StatusConnectionEnumTest)
2025-12-07 12:24:39 -03:00

44 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
namespace WallaceMartinss\FilamentEvolution\Tests\Unit;
use WallaceMartinss\FilamentEvolution\Enums\StatusConnectionEnum;
use WallaceMartinss\FilamentEvolution\Tests\TestCase;
class StatusConnectionEnumTest extends TestCase
{
public function test_enum_has_correct_values(): void
{
$this->assertSame('open', StatusConnectionEnum::OPEN->value);
$this->assertSame('connecting', StatusConnectionEnum::CONNECTING->value);
$this->assertSame('close', StatusConnectionEnum::CLOSE->value);
$this->assertSame('refused', StatusConnectionEnum::REFUSED->value);
}
public function test_enum_has_labels(): void
{
$this->assertNotEmpty(StatusConnectionEnum::OPEN->getLabel());
$this->assertNotEmpty(StatusConnectionEnum::CONNECTING->getLabel());
$this->assertNotEmpty(StatusConnectionEnum::CLOSE->getLabel());
$this->assertNotEmpty(StatusConnectionEnum::REFUSED->getLabel());
}
public function test_enum_has_colors(): void
{
$this->assertSame('success', StatusConnectionEnum::OPEN->getColor());
$this->assertSame('warning', StatusConnectionEnum::CONNECTING->getColor());
$this->assertSame('danger', StatusConnectionEnum::CLOSE->getColor());
$this->assertSame('danger', StatusConnectionEnum::REFUSED->getColor());
}
public function test_enum_has_icons(): void
{
$this->assertNotEmpty(StatusConnectionEnum::OPEN->getIcon());
$this->assertNotEmpty(StatusConnectionEnum::CONNECTING->getIcon());
$this->assertNotEmpty(StatusConnectionEnum::CLOSE->getIcon());
$this->assertNotEmpty(StatusConnectionEnum::REFUSED->getIcon());
}
}