atk4\data\tests\PersistentSQLTest::testPersistenceDelete PHP Method

testPersistenceDelete() public method

    public function testPersistenceDelete()
    {
        $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');
        $ids = [];
        foreach ($a['user'] as $id => $row) {
            $ids[] = $p->insert($m, $row);
        }
        $this->assertEquals(false, $m->loaded());
        $m->delete($ids[0]);
        $this->assertEquals(false, $m->loaded());
        $m->load($ids[1]);
        $this->assertEquals('Jones', $m['surname']);
        $m['surname'] = 'Smith';
        $m->save();
        $m->tryLoad($ids[0]);
        $this->assertEquals(false, $m->loaded());
        $m->load($ids[1]);
        $this->assertEquals('Smith', $m['surname']);
    }