Skip to content

Commit

Permalink
test: add integration tests for more containers (#46)
Browse files Browse the repository at this point in the history
  • Loading branch information
geerteltink committed Sep 26, 2020
1 parent 3940f91 commit 46efbb7
Show file tree
Hide file tree
Showing 7 changed files with 449 additions and 51 deletions.
4 changes: 3 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
"symfony/redis-messenger": "^5.1"
},
"require-dev": {
"doctrine/coding-standard": "^7.0",
"ext-json": "*",
"doctrine/coding-standard": "^7.0",
"doctrine/dbal": "^2.6",
"doctrine/orm": "^2.6",
"laminas/laminas-auradi-config": "^2.0",
"laminas/laminas-pimple-config": "^1.1",
"laminas/laminas-servicemanager": "^3.4",
"phpunit/phpunit": "^9.0",
"psalm/plugin-phpunit": "^0.10.0",
Expand Down
218 changes: 217 additions & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 13 additions & 7 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php">
bootstrap="vendor/autoload.php"
failOnRisky="true"
failOnWarning="true"
verbose="true">
<testsuites>
<testsuite name="UnitTests">
<directory>./test/</directory>
<directory>test</directory>
</testsuite>
</testsuites>

<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src/</directory>
</whitelist>
</filter>
<coverage includeUncoveredFiles="true"
processUncoveredFiles="true"
ignoreDeprecatedCodeUnits="true"
disableCodeCoverageIgnore="true">
<include>
<directory suffix=".php">src</directory>
</include>
</coverage>
</phpunit>
43 changes: 1 addition & 42 deletions test/ConfigProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,14 @@

namespace Xtreamwayz\PsrContainerMessenger\Test;

use Laminas\ServiceManager\Config;
use Laminas\ServiceManager\ServiceManager;
use PHPUnit\Framework\TestCase;
use Psr\Log\LoggerInterface;
use Xtreamwayz\PsrContainerMessenger\ConfigProvider;

use function array_replace_recursive;
use function is_array;
use function sprintf;

class ConfigProviderTest extends TestCase
{
private ConfigProvider $provider;

public function setUp(): void
protected function setUp(): void
{
$this->provider = new ConfigProvider();
}
Expand Down Expand Up @@ -59,38 +52,4 @@ public function testReturnedArrayContainsDependencies(array $config): void
$this->assertIsArray($bus['routes']);
}
}

public function testServicesDefinedInConfigProvider(): void
{
// Get dependencies
$dependencies = $this->provider->getDependencies();
// Mock dependencies
$dependencies['services'][LoggerInterface::class] = $this->createMock(LoggerInterface::class);

// Build container
$container = $this->getContainer($dependencies);
foreach ($dependencies['factories'] as $name => $factory) {
if (is_array($factory)) {
$factory = $factory[0];
}

$this->assertTrue($container->has($name), sprintf('Container does not contain service %s', $name));
$this->assertIsObject(
$container->get($name),
sprintf('Cannot get service %s from container using factory %s', $name, $factory)
);
}
}

private function getContainer(array $dependencies): ServiceManager
{
$container = new ServiceManager();
(new Config($dependencies))->configureServiceManager($container);
$container->setService('config', array_replace_recursive(
($this->provider)(),
require 'example/basic-config.php'
));

return $container;
}
}
Loading

0 comments on commit 46efbb7

Please sign in to comment.