示例#1
0
 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))");
     }
 }
示例#2
0
 public function test_post_fetch_invoked()
 {
     $model = new MockModel($this->db);
     $mock_subscriber = $this->getMockBuilder('Doctrine\\Common\\EventSubscriber')->setMethods(["preFetch", "getSubscribedEvents"])->getMock();
     $mock_subscriber->expects($this->any())->method('getSubscribedEvents')->will($this->returnCallback(function () {
         return ["preFetch"];
     }));
     $mock_subscriber->expects($this->once())->method('preFetch');
     $model->events->addEventSubscriber($mock_subscriber);
     $model->find(1);
 }
示例#3
0
 public function test_delete()
 {
     $model = new MockModel($this->db);
     $result = $model->insert(["title" => "Hello World"]);
     $this->assertEquals($result, 1);
     $model2 = new MockModel($this->db);
     $result2 = $model2->delete(["id" => 1]);
     $this->assertEquals($result2, 1);
     $model3 = new MockModel($this->db);
     $result3 = $model3->find(1);
     $this->assertFalse($result3);
 }