. * */ namespace OC\AppFramework\DependencyInjection; use \OC\AppFramework\Http\Request; //require_once(__DIR__ . "/../classloader.php"); class DIContainerTest extends \PHPUnit_Framework_TestCase { private $container; protected function setUp(){ $this->container = new DIContainer('name'); $this->api = $this->getMock('OC\AppFramework\Core\API', array('getTrans'), array('hi')); } private function exchangeAPI(){ $this->api->expects($this->any()) ->method('getTrans') ->will($this->returnValue('yo')); $this->container['API'] = $this->api; } public function testProvidesAPI(){ $this->assertTrue(isset($this->container['API'])); } public function testProvidesRequest(){ $this->assertTrue(isset($this->container['Request'])); } public function testProvidesSecurityMiddleware(){ $this->assertTrue(isset($this->container['SecurityMiddleware'])); } public function testProvidesMiddlewareDispatcher(){ $this->assertTrue(isset($this->container['MiddlewareDispatcher'])); } public function testProvidesAppName(){ $this->assertTrue(isset($this->container['AppName'])); } public function testAppNameIsSetCorrectly(){ $this->assertEquals('name', $this->container['AppName']); } public function testMiddlewareDispatcherIncludesSecurityMiddleware(){ $this->container['Request'] = new Request(); $security = $this->container['SecurityMiddleware']; $dispatcher = $this->container['MiddlewareDispatcher']; $this->assertContains($security, $dispatcher->getMiddlewares()); } public function testMiddlewareDispatcherDoesNotIncludeTwigWhenTplDirectoryNotSet(){ $this->container['Request'] = new Request(); $this->exchangeAPI(); $dispatcher = $this->container['MiddlewareDispatcher']; $this->assertEquals(1, count($dispatcher->getMiddlewares())); } }