/** * Discovery */ public function testDiscovery() { $expected = ['Adminer' => ['authors' => ['Jakub Vrana'], 'tags' => ['PHP', 'MySQL']], 'JUSH' => ['authors' => ['Jakub Vrana'], 'tags' => ['JavaScript']], 'Nette' => ['authors' => ['David Grudl'], 'tags' => ['PHP']], 'Dibi' => ['authors' => ['David Grudl'], 'tags' => ['PHP', 'MySQL']]]; $discovery = new \NotORM\Instance(self::$pdo, new \NotORM\StructureDiscovery(self::$pdo, new \NotORM\Cache()), new \NotORM\Cache()); foreach ($discovery->application() as $application) { $result[$application['title']]['authors'][] = $application->author_id['name']; foreach ($application->application_tag() as $application_tag) { $result[$application['title']]['tags'][] = $application_tag->tag_id['name']; } } $this->assertEquals($expected, $result); }
/** * Table prefix */ public function testTablePrefix() { $expected = 'SELECT prefix_application.* FROM prefix_application LEFT JOIN prefix_author AS author ON prefix_application.author_id = author.id WHERE (author.name = \'Jakub Vrana\')'; $prefix = new \NotORM\Instance(self::$pdo, new \NotORM\StructureConvention('id', '%s_id', '%s', 'prefix_')); $applications = $prefix->application('author.name', 'Jakub Vrana'); $result = (string) $applications; $this->assertEquals($expected, $result); }