Initial commit

This commit is contained in:
2025-12-29 16:27:01 +00:00
committed by Siteworx Pro Gitea
commit 23f2b6432b
147 changed files with 14731 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\Facades;
use Siteworxpro\App\Services\Facade;
use Siteworxpro\Tests\Unit;
abstract class AbstractFacade extends Unit
{
abstract protected function getFacadeClass(): string;
abstract protected function getConcrete(): string;
public function testFacadeAccessor(): void
{
/** @var Facade | string $class */
$class = $this->getFacadeClass();
$this->assertTrue(
method_exists($class, 'getFacadeAccessor'),
sprintf('The class %s must implement the method getFacadeAccessor.', $class)
);
$facade = $class::getFacadeRoot();
$this->assertNotNull(
$facade,
sprintf('The facade %s is not properly initialized.', $this->getConcrete())
);
}
}

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\Facades;
use Siteworxpro\App\Services\Facades\Dispatcher;
class DispatcherTest extends AbstractFacade
{
protected function getFacadeClass(): string
{
return Dispatcher::class;
}
protected function getConcrete(): string
{
return \Siteworxpro\App\Events\Dispatcher::class;
}
}

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\Facades;
use GuzzleHttp\Client;
use Siteworxpro\App\Services\Facades\Guzzle;
class GuzzleTest extends AbstractFacade
{
protected function getFacadeClass(): string
{
return Guzzle::class;
}
protected function getConcrete(): string
{
return Client::class;
}
}

View File

@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\Facades;
use Siteworxpro\App\Services\Facades\Logger;
class LoggerTest extends AbstractFacade
{
protected function getFacadeClass(): string
{
return Logger::class;
}
protected function getConcrete(): string
{
return \Siteworxpro\App\Log\Logger::class;
}
}

View File

@@ -0,0 +1,21 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\Facades;
use Predis\Client;
use Siteworxpro\App\Services\Facades\Redis;
class RedisTest extends AbstractFacade
{
protected function getFacadeClass(): string
{
return Redis::class;
}
protected function getConcrete(): string
{
return Client::class;
}
}