public function testInsert() { $a = ['user' => [1 => ['name' => 'John', 'surname' => 'Smith'], 2 => ['name' => 'Sarah', 'surname' => 'Jones']]]; $p = new Persistence_Array($a); $m = new Model($p, 'user'); $m->addField('name'); $m->addField('surname'); $m->insert(['name' => 'Foo', 'surname' => 'Bar']); $this->assertEquals(['user' => [1 => ['name' => 'John', 'surname' => 'Smith'], 2 => ['name' => 'Sarah', 'surname' => 'Jones'], 3 => ['name' => 'Foo', 'surname' => 'Bar', 'id' => 3]]], $a); }
public function testModelInsert() { $a = ['user' => [1 => ['name' => 'John', 'surname' => 'Smith'], 2 => ['name' => 'Sarah', 'surname' => 'Jones']]]; $p = new Persistence_SQL('sqlite::memory:'); $p->connection->expr('drop table if exists user')->execute(); $p->connection->expr('create table user(id integer primary key autoincrement, name varchar(255), surname varchar(255))')->execute(); $m = new Model($p, 'user'); $m->addField('name'); $m->addField('surname'); $ms = []; foreach ($a['user'] as $id => $row) { $ms[] = $m->insert($row); } $this->assertEquals('John', $m->load($ms[0])['name']); $this->assertEquals('Jones', $m->load($ms[1])['surname']); }
public function testActual() { $db = new Persistence_SQL($this->db->connection); $a = ['user' => [1 => ['id' => 1, 'name' => 'John', 'surname' => 'Smith']]]; $this->setDB($a); $m = new Model($db, 'user'); $m->addField('first_name', ['actual' => 'name']); $m->addField('surname'); $m->insert(['first_name' => 'Peter', 'surname' => 'qq']); $m->loadBy('first_name', 'John'); $this->assertEquals('John', $m['first_name']); $d = $m->export(); $this->assertEquals('John', $d[0]['first_name']); $a = ['user' => [1 => ['id' => 1, 'name' => 'John', 'surname' => 'Smith'], 2 => ['id' => 2, 'name' => 'Peter', 'surname' => 'qq']]]; $this->assertEquals($a, $this->getDB()); $m['first_name'] = 'Scott'; $m->save(); $a = ['user' => [1 => ['id' => 1, 'name' => 'Scott', 'surname' => 'Smith'], 2 => ['id' => 2, 'name' => 'Peter', 'surname' => 'qq']]]; $this->assertEquals($a, $this->getDB()); }