|
11 | 11 | namespace tests\aik099\PHPUnit\Integration; |
12 | 12 |
|
13 | 13 |
|
| 14 | +use aik099\PHPUnit\APIClient\APIClientFactory; |
14 | 15 | 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; |
15 | 21 | 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; |
21 | 28 | 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; |
24 | 31 | 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; |
28 | 40 |
|
29 | 41 | class DIContainerTest extends AbstractTestCase |
30 | 42 | { |
@@ -84,4 +96,55 @@ public static function serviceDefinitionsDataProvider() |
84 | 96 | ); |
85 | 97 | } |
86 | 98 |
|
| 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 | + |
87 | 150 | } |
0 commit comments