Beispiel #1
0
 public function test_include_manager_trigger()
 {
     $model = new MockModel($this->db);
     $model->add_include("many", ["table" => "jointable"]);
     $mock_includer = $this->getMockBuilder('SlimModel\\Event\\IncludeManager')->setMethods(["postFetch"])->getMock();
     $mock_includer->expects($this->once())->method('postFetch')->with($this->isInstanceOf("SlimModel\\Event\\ModelEventArgs"));
     $model->includeManager = $mock_includer;
     $model->find(1);
 }
 public function testKeyFilter()
 {
     $model = new MockModel($this->db);
     $model->add_include("many", ["table" => "jointable"]);
     foreach ($model->getManyIncludes() as $options) {
         $query = new IncludeManyQuery($this->db, $options, [1]);
         $query->build();
         $this->assertEquals($query->query->getSQL(), "SELECT l.id as lkey, r.* FROM example l LEFT JOIN example_jointable j ON j.example_id = l.id LEFT JOIN jointable r ON r.id = j.jointable_id WHERE (r.id IS NOT NULL) AND (l.id IN (1))");
     }
 }