public function testBuild() { $queryBuilderMock = $this->getMockBuilder('T4webBase\\Db\\QueryBuilder')->disableOriginalConstructor()->getMock(); $criteria1Mock = $this->getMock('T4webBase\\Domain\\Criteria\\CriteriaInterface'); $criteria1Mock->expects($this->once())->method('build')->with($this->identicalTo($queryBuilderMock)); $criteria2Mock = $this->getMock('T4webBase\\Domain\\Criteria\\CriteriaInterface'); $criteria2Mock->expects($this->once())->method('build')->with($this->identicalTo($queryBuilderMock)); $compositeCriteria = new CompositeCriteria(); $compositeCriteria->add($criteria1Mock); $compositeCriteria->add($criteria2Mock); $compositeCriteria->build($queryBuilderMock); }
public function testCreateWithDependencies() { $params = array('T4webBaseTest\\Domain' => array('Assets' => array('id' => 1))); $criteria1 = new NewEmptyCriteria(null, null, 'table', null); $criteria2 = new AssetIdCriteria(1); $criteria2->setAsForeign(); $criteria2->setJoinTable('table'); $criteria2->setJoinRule('rule'); $compositeCriteria = new CompositeCriteria(); $compositeCriteria->add($criteria1); $compositeCriteria->add($criteria2); $dependencies = array('Domain' => array('T4webBaseTest\\Domain' => array('Assets' => array('table' => 'table', 'rule' => 'rule')))); $criteries = array('Domain' => array('empty' => array('table' => 'table'))); $factory = new Factory('T4webBaseTest', 'Domain', $dependencies, $criteries); $result = $factory->create($params); $this->assertEquals($compositeCriteria, $result); }