コード例 #1
0
 /**
  * @dataProvider includeProvider
  *
  * @param array $toInclude
  * @param array $parentRelationships
  * @param array $expectedSequence
  */
 public function testIncludes(array $toInclude, array $parentRelationships, array $expectedSequence)
 {
     $metadataMock = $this->createMetadataMock(["entity" => "one", "relationships" => $parentRelationships]);
     $sequencer = new TokenSequencer($this->tokenFactory, "find", $metadataMock);
     foreach ($toInclude as $include) {
         $includeMetadata = $this->createMetadataMock($include["metadata"]);
         $alias = isset($include["alias"]) ? $include["alias"] : "";
         $parent = isset($include["parent"]) ? $include["parent"] : "";
         $filters = null;
         if (!empty($include["filters"])) {
             $filters = \Mockery::mock("Silktide\\Reposition\\QueryBuilder\\TokenSequencerInterface");
             $filters->shouldReceive("getSequence")->andReturn($include["filters"]);
         }
         $sequencer->includeEntity($includeMetadata, $alias, $parent, $filters);
     }
     $this->assertEquals($expectedSequence, $sequencer->getSequence());
 }