Skip to content

Commit 4dac104

Browse files
committed
Test, that DIContainer is properly assembling factory objects
1 parent 0837f60 commit 4dac104

1 file changed

Lines changed: 73 additions & 10 deletions

File tree

tests/aik099/PHPUnit/Integration/DIContainerTest.php

Lines changed: 73 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,32 @@
1111
namespace tests\aik099\PHPUnit\Integration;
1212

1313

14+
use aik099\PHPUnit\APIClient\APIClientFactory;
1415
use aik099\PHPUnit\Application;
16+
use aik099\PHPUnit\BrowserConfiguration\BrowserConfiguration;
17+
use aik099\PHPUnit\BrowserConfiguration\BrowserConfigurationFactory;
18+
use aik099\PHPUnit\BrowserConfiguration\BrowserStackBrowserConfiguration;
19+
use aik099\PHPUnit\BrowserConfiguration\SauceLabsBrowserConfiguration;
20+
use aik099\PHPUnit\BrowserTestCase;
1521
use aik099\PHPUnit\DIContainer;
16-
use tests\aik099\PHPUnit\AbstractTestCase;
17-
use aik099\PHPUnit\TestSuite\RegularTestSuite;
18-
use aik099\PHPUnit\TestSuite\BrowserTestSuite;
19-
use aik099\PHPUnit\APIClient\APIClientFactory;
20-
use aik099\PHPUnit\TestSuite\TestSuiteFactory;
22+
use aik099\PHPUnit\MinkDriver\DriverFactoryRegistry;
23+
use aik099\PHPUnit\MinkDriver\GoutteDriverFactory;
24+
use aik099\PHPUnit\MinkDriver\SahiDriverFactory;
25+
use aik099\PHPUnit\MinkDriver\Selenium2DriverFactory;
26+
use aik099\PHPUnit\MinkDriver\ZombieDriverFactory;
27+
use aik099\PHPUnit\RemoteCoverage\RemoteCoverageHelper;
2128
use aik099\PHPUnit\RemoteCoverage\RemoteUrl;
22-
use aik099\PHPUnit\Session\SessionStrategyManager;
23-
use aik099\PHPUnit\Session\SessionStrategyFactory;
29+
use aik099\PHPUnit\Session\ISessionStrategyFactory;
30+
use aik099\PHPUnit\Session\IsolatedSessionStrategy;
2431
use aik099\PHPUnit\Session\SessionFactory;
25-
use aik099\PHPUnit\RemoteCoverage\RemoteCoverageHelper;
26-
use aik099\PHPUnit\BrowserConfiguration\BrowserConfigurationFactory;
27-
use aik099\PHPUnit\MinkDriver\DriverFactoryRegistry;
32+
use aik099\PHPUnit\Session\SessionStrategyFactory;
33+
use aik099\PHPUnit\Session\SessionStrategyManager;
34+
use aik099\PHPUnit\Session\SharedSessionStrategy;
35+
use aik099\PHPUnit\TestSuite\BrowserTestSuite;
36+
use aik099\PHPUnit\TestSuite\RegularTestSuite;
37+
use aik099\PHPUnit\TestSuite\TestSuiteFactory;
38+
use Mockery as m;
39+
use tests\aik099\PHPUnit\AbstractTestCase;
2840

2941
class DIContainerTest extends AbstractTestCase
3042
{
@@ -84,4 +96,55 @@ public static function serviceDefinitionsDataProvider()
8496
);
8597
}
8698

99+
public function testSessionStrategyFactory()
100+
{
101+
/** @var SessionStrategyFactory $session_strategy_factory */
102+
$session_strategy_factory = $this->_container['session_strategy_factory'];
103+
104+
$this->assertInstanceOf(
105+
IsolatedSessionStrategy::class,
106+
$session_strategy_factory->createStrategy(ISessionStrategyFactory::TYPE_ISOLATED)
107+
);
108+
109+
$this->assertInstanceOf(
110+
SharedSessionStrategy::class,
111+
$session_strategy_factory->createStrategy(ISessionStrategyFactory::TYPE_SHARED)
112+
);
113+
}
114+
115+
public function testDriverFactoryRegistry()
116+
{
117+
/** @var DriverFactoryRegistry $driver_factory_registry */
118+
$driver_factory_registry = $this->_container['driver_factory_registry'];
119+
120+
$this->assertInstanceOf(Selenium2DriverFactory::class, $driver_factory_registry->get('selenium2'));
121+
$this->assertInstanceOf(SahiDriverFactory::class, $driver_factory_registry->get('sahi'));
122+
$this->assertInstanceOf(GoutteDriverFactory::class, $driver_factory_registry->get('goutte'));
123+
$this->assertInstanceOf(ZombieDriverFactory::class, $driver_factory_registry->get('zombie'));
124+
}
125+
126+
public function testBrowserConfigurationFactory()
127+
{
128+
$test_case = m::mock(BrowserTestCase::class);
129+
$test_case->shouldReceive('getBrowserAliases')->andReturn(array());
130+
131+
/** @var BrowserConfigurationFactory $browser_configuration_factory */
132+
$browser_configuration_factory = $this->_container['browser_configuration_factory'];
133+
134+
$this->assertInstanceOf(
135+
BrowserConfiguration::class,
136+
$browser_configuration_factory->createBrowserConfiguration(array('type' => 'default'), $test_case)
137+
);
138+
139+
$this->assertInstanceOf(
140+
BrowserStackBrowserConfiguration::class,
141+
$browser_configuration_factory->createBrowserConfiguration(array('type' => 'browserstack'), $test_case)
142+
);
143+
144+
$this->assertInstanceOf(
145+
SauceLabsBrowserConfiguration::class,
146+
$browser_configuration_factory->createBrowserConfiguration(array('type' => 'saucelabs'), $test_case)
147+
);
148+
}
149+
87150
}

0 commit comments

Comments
 (0)