_setModelClass($name); } } /** * RepositoryAwareTrait test case */ class RepositoryAwareTraitTest extends TestCase { /** * Test set modelClass * * @return void */ public function testSetModelClass() { $stub = new Stub(); $this->assertNull($stub->modelClass); $stub->setProps('StubArticles'); $this->assertEquals('StubArticles', $stub->modelClass); } /** * test repository() * * @return void */ public function testRepository() { $stub = new Stub(); $stub->setProps('Articles'); $stub->repositoryFactory('Table', ['\Cake\ORM\TableRegistry', 'get']); $this->assertTrue($stub->repository()); $this->assertInstanceOf('Cake\ORM\Table', $stub->Articles); $this->assertTrue($stub->repository('Comments')); $this->assertInstanceOf('Cake\ORM\Table', $stub->Comments); } /** * test alternate repository factories. * * @return void */ public function testRepositoryFactory() { $stub = new Stub(); $stub->setProps('Articles'); $stub->repositoryFactory('Test', function($name) { $mock = new \StdClass(); $mock->name = $name; return $mock; }); $result = $stub->repository('Magic', 'Test'); $this->assertTrue($result); $this->assertInstanceOf('\StdClass', $stub->Magic); $this->assertEquals('Magic', $stub->Magic->name); } }