public function testCustomType()
 {
     $mapper = \Amiss\Sql\Factory::createMapper();
     $mapper->addTypeHandler(new TestCustomFieldTypeHandler(), 'foo');
     $deps = \Amiss\Test\Factory::managerNoteModelCustom('
         /** :amiss = true; */
         class TestCustomFieldTypeModel
         {
             /** :amiss = {"field": {"primary": true, "type": "autoinc" }}; */
             public $testCustomFieldTypeRecordId;
             
             /**
              * :amiss = {"field": {"type": "foo bar"}};
              */
             public $yep1;
         }
     ', (object) ['mapper' => $mapper]);
     $class = $deps->classes['TestCustomFieldTypeModel'];
     $r = new $class();
     $r->yep1 = 'foo';
     $deps->manager->save($r);
     $r = $deps->manager->getById($class, 1);
     // this will have passed through the prepareValueForDb first, then
     // through the handleValueFromDb method
     $this->assertEquals('value-db-foo', $r->yep1);
 }
 public function setUp()
 {
     parent::setUp();
     $this->connector = new \Amiss\Test\Helper\TestConnector('mysql:xx');
     $this->mapper = \Amiss\Sql\Factory::createMapper();
     $this->manager = new \Amiss\Sql\Manager($this->connector, $this->mapper);
     $this->class = __NAMESPACE__ . '\\TestCreateWithCustomType';
 }
 public function setUp()
 {
     parent::setUp();
     \Amiss\Sql\ActiveRecord::_reset();
     $this->connector = new \Amiss\Test\Helper\TestConnector('mysql:xx');
     $this->mapper = \Amiss\Sql\Factory::createMapper(array());
     $this->manager = new \Amiss\Sql\Manager($this->connector, $this->mapper);
     \Amiss\Sql\ActiveRecord::setManager($this->manager);
     $this->class = __NAMESPACE__ . '\\TestCreateCustomTypeWithEmptyColumnTypeRecord';
 }
Example #4
0
 public static function managerNoteDefault($deps = null)
 {
     if (!$deps) {
         $deps = (object) [];
     }
     $cf = new ConnectionFactory(\Amiss\Test\Helper\Env::instance()->getConnectionInfo());
     if (!isset($deps->mapper) || !$deps->mapper) {
         $config = ['date' => ['dbTimeZone' => 'UTC', 'appTimeZone' => 'UTC']];
         $deps->mapper = \Amiss\Sql\Factory::createMapper($config);
     }
     if (!isset($deps->connector) || !$deps->connector) {
         $deps->connector = $cf->getConnector();
     }
     $deps->manager = \Amiss\Sql\Factory::createManager($deps->connector, $deps->mapper);
     $deps->_connectionFactory = $cf;
     return $deps;
 }