public function setUp()
 {
     $this->deps = Test\Factory::managerNoteDefault();
     if ($this->deps->connector->engine != 'sqlite') {
         return $this->markTestSkipped();
     }
 }
Example #2
0
 public function setUp()
 {
     parent::setUp();
     $this->deps = Test\Factory::managerNoteDefault();
     $this->manager = $this->deps->manager;
     TableBuilder::create($this->deps->connector, $this->deps->mapper, [MappedFieldNameLeft::class, MappedFieldNameAssoc::class, MappedFieldNameRight::class]);
 }
Example #3
0
 public function setUp()
 {
     $this->deps = Test\Factory::managerNoteDefault();
     if ($this->deps->connector->engine == 'sqlite') {
         $this->deps->connector->execAll(["CREATE TABLE test_embed_one_parent(id INTEGER PRIMARY KEY AUTOINCREMENT, child TEXT)", "CREATE TABLE test_embed_many_parent(id INTEGER PRIMARY KEY AUTOINCREMENT, children TEXT)"]);
     } elseif ($this->deps->connector->engine == 'mysql') {
         $this->deps->connector->execAll(["CREATE TABLE test_embed_one_parent(id INT PRIMARY KEY AUTO_INCREMENT, child TEXT)", "CREATE TABLE test_embed_many_parent(id INT PRIMARY KEY AUTO_INCREMENT, children TEXT)"]);
     }
     // To test against either mysql or sqlite, we need to encode as well.
     $embed = new Type\Embed($this->deps->mapper);
     $encoder = new Type\Encoder('serialize', 'unserialize', $embed);
     $this->deps->mapper->addTypeHandler($encoder, 'embed');
 }
 public function setUp()
 {
     $this->deps = Test\Factory::managerNoteDefault();
     $this->manager = $this->deps->manager;
     $this->ns = 'Amiss\\Demo\\AssocDifferentFieldColumn';
     $tb = TableBuilder::create($this->manager->connector, $this->manager->mapper, [$this->ns . '\\Event', $this->ns . '\\Artist', $this->ns . '\\EventArtist']);
     $manager = $this->manager;
     $manager->insertTable($this->ns . '\\Event', ['id' => 1, 'name' => 'event1']);
     $manager->insertTable($this->ns . '\\Event', ['id' => 2, 'name' => 'event2']);
     $manager->insertTable($this->ns . '\\Event', ['id' => 3, 'name' => 'event3']);
     $manager->insertTable($this->ns . '\\Artist', ['id' => 1, 'name' => 'artist1']);
     $manager->insertTable($this->ns . '\\Artist', ['id' => 2, 'name' => 'artist2']);
     $manager->insertTable($this->ns . '\\Artist', ['id' => 3, 'name' => 'artist3']);
     $manager->insertTable($this->ns . '\\EventArtist', ['eventId' => 1, 'artistId' => 1]);
     $manager->insertTable($this->ns . '\\EventArtist', ['eventId' => 1, 'artistId' => 2]);
     $manager->insertTable($this->ns . '\\EventArtist', ['eventId' => 2, 'artistId' => 2]);
     $manager->insertTable($this->ns . '\\EventArtist', ['eventId' => 2, 'artistId' => 3]);
 }
Example #5
0
 public function testCreateTable()
 {
     $deps = Test\Factory::managerNoteDefault();
     $deps->mapper->addTypeHandler(new \Amiss\Sql\Type\Autoinc(), 'autoinc');
     $deps->mapper->defaultTableNameTranslator = function ($name) {
         return 'test_' . $name;
     };
     try {
         \Amiss\Demo\Active\DemoRecord::_reset();
         \Amiss\Demo\Active\DemoRecord::setManager($deps->manager);
         TableBuilder::create($deps->connector, $deps->mapper, Demo\Active\EventRecord::class);
         $er = new Demo\Active\EventRecord();
         $er->name = 'foo bar';
         $er->slug = 'foobar';
         $er->save();
         $this->assertTrue(true);
     } finally {
         \Amiss\Demo\Active\DemoRecord::_reset();
     }
 }