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,43 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\ServiceProviders;
use Illuminate\Container\Container;
use Illuminate\Contracts\Container\BindingResolutionException;
use Illuminate\Support\ServiceProvider;
use Siteworxpro\Tests\Unit;
abstract class AbstractServiceProvider extends Unit
{
abstract protected function getProviderClass(): string;
/**
* @throws BindingResolutionException
*/
public function testProvider(): void
{
$container = new Container();
$providerClass = $this->getProviderClass();
/** @var ServiceProvider $providerClass */
$provider = new $providerClass($container);
$this->assertInstanceOf($providerClass, $provider);
$provider->register();
$abstract = $provider->provides()[0];
$concrete = get_class($container->make($abstract));
$this->assertTrue($container->bound($abstract), "The $abstract is not bound in the container.");
$this->assertNotNull($container->make($abstract), "The $abstract could not be resolved.");
$this->assertInstanceOf(
$concrete,
$container->make($abstract),
"The $abstract is not an instance of $concrete."
);
}
}

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\ServiceProviders;
use Siteworxpro\App\Services\ServiceProviders\CommandBusProvider;
class CommandBusServiceProviderTest extends AbstractServiceProvider
{
protected function getProviderClass(): string
{
return CommandBusProvider::class;
}
}

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\ServiceProviders;
use Siteworxpro\App\Services\ServiceProviders\DispatcherServiceProvider;
class DispatcherServiceProviderTest extends AbstractServiceProvider
{
protected function getProviderClass(): string
{
return DispatcherServiceProvider::class;
}
}

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\ServiceProviders;
use Siteworxpro\App\Services\ServiceProviders\LoggerServiceProvider;
class LoggerServiceProviderTest extends AbstractServiceProvider
{
protected function getProviderClass(): string
{
return LoggerServiceProvider::class;
}
}

View File

@@ -0,0 +1,15 @@
<?php
declare(strict_types=1);
namespace Siteworxpro\Tests\ServiceProviders;
use Siteworxpro\App\Services\ServiceProviders\RedisServiceProvider;
class RedisServiceProviderTest extends AbstractServiceProvider
{
protected function getProviderClass(): string
{
return RedisServiceProvider::class;
}
}