public function testGenerator() { if (!self::$dbh) { $this->markTestSkipped('The mysql database isn\'t available, check config and server.'); } $generator = new \Snok\EntityGenerator(self::$dbh, "Test\\Snok\\Entity", __DIR__ . "/Entity"); $generator->generateAll(); require_once __DIR__ . "/Entity/Address.php"; $reflection = new \ReflectionClass("\\Test\\Snok\\Entity\\Address"); $instance = $reflection->newInstanceWithoutConstructor(); $this->setupEntity($instance); $instance->firstname = "John"; $instance->lastname = "Logan"; $instance->address = "123 Ground street"; $instance->district = "Harlem"; $instance->city = "Detroit"; $instance->phone = "555-1234"; $instance->commit(); $instance2 = $reflection->newInstanceWithoutConstructor(); $this->setupEntity($instance2); $this->assertNull($instance2->address_id); $this->assertNull($instance2->firstname); $instance2->address_id = $instance->address_id; $instance2->refresh(); $this->assertEquals("John", $instance2->firstname, "When adding a name to an object with auto increment name should be returned"); unlink(__DIR__ . "/Entity/Address.php"); }
public function testGenerator() { if (!self::$dbh) { $this->markTestSkipped('The postgresql database isn\'t available, check config and server.'); } $generator = new \Snok\EntityGenerator(self::$dbh, "Test\\Snok\\Entity", __DIR__ . "/Entity"); $generator->generateAll(); require_once __DIR__ . "/Entity/Article.php"; $reflection = new \ReflectionClass("\\Test\\Snok\\Entity\\Article"); $instance = $reflection->newInstanceWithoutConstructor(); $this->setupEntity($instance); $instance->article_name = "High tides overseas"; $instance->article_desc = "We are expecting high tides this season overseas."; $instance->commit(); $instance2 = $reflection->newInstanceWithoutConstructor(); $this->setupEntity($instance2); $this->assertNull($instance2->article_id); $this->assertNull($instance2->article_name); $instance2->article_id = $instance->article_id; $instance2->refresh(); $obj = $instance2->toObject(); $this->assertEquals("High tides overseas", $obj->article_name, "When adding a article_name to an object with auto increment article_name should be returned"); unlink(__DIR__ . "/Entity/Article.php"); }
<?php require_once __DIR__ . "/../vendor/autoload.php"; require_once __DIR__ . "/../src/classes/EntityGenerator.php"; $generator = new \Snok\EntityGenerator(); $generator->generateAll();