public function testModelProperty() { $db = new Persistence(); $user = new Model($db, ['table' => 'user']); $user->id = 1; $user->hasOne('order_id', ['model' => ['atk4/data/Model', 'table' => 'order']]); $o = $user->ref('order_id'); $this->assertEquals('order', $o->table); }
public function testEditableHasOne() { $gender = new Model(); $gender->addField('name'); $m = new Model(); $m->addField('name'); $m->hasOne('gender_id', $gender); $this->assertEquals(false, $m->getElement('gender_id')->system); $this->assertEquals(true, $m->getElement('gender_id')->isEditable()); }
public function testTitle() { $db = new Persistence_SQL($this->db->connection); $a = ['user' => [1 => ['id' => 1, 'name' => 'John', 'surname' => 'Smith', 'category_id' => 2]], 'category' => [1 => ['id' => 1, 'name' => 'General'], 2 => ['id' => 2, 'name' => 'Programmer'], 3 => ['id' => 3, 'name' => 'Sales']]]; $this->setDB($a); $c = new Model($db, 'category'); $c->addField('name'); $m = new Model($db, 'user'); $m->addField('name'); $m->hasOne('category_id', $c)->addTitle(); $m->load(1); $this->assertEquals('John', $m['name']); $this->assertEquals('Programmer', $m['category']); $m->insert(['Peter', 'category' => 'Sales']); $a = ['user' => [1 => ['id' => 1, 'name' => 'John', 'surname' => 'Smith', 'category_id' => 2], 2 => ['id' => 2, 'name' => 'Peter', 'surname' => null, 'category_id' => 3]], 'category' => [1 => ['id' => 1, 'name' => 'General'], 2 => ['id' => 2, 'name' => 'Programmer'], 3 => ['id' => 3, 'name' => 'Sales']]]; $this->assertEquals($a, $this->getDB()); }