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))"); } }
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); }
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); }