Scalr\Tests\Model\AbstractEntityTest::testDelete PHP Method

testDelete() public method

public testDelete ( )
    public function testDelete()
    {
        $db = \Scalr::getDb();
        $tableName = $this->createTestEntities($db);
        $count = $db->GetOne("SELECT COUNT(*) FROM {$tableName} WHERE `str_id` = 'foo'");
        $removedCount = TestEntity::deleteBy([['strId' => 'foo']]);
        $this->assertEquals($count, $removedCount);
        $count = $db->GetOne("SELECT COUNT(*) FROM {$tableName} WHERE `str_id` = 'foobar'");
        $removedCount = TestEntity::deleteBy([['strId' => 'foo']]);
        $this->assertEquals($count, $removedCount);
        $entities = TestEntity::findByStrId('bar');
        $removedCount = TestEntity::deleteByStrId('bar');
        $this->assertEquals(count($entities), $removedCount);
        /* @var $entities EntityIterator */
        $entities = TestEntity::all();
        $totalCount = 0;
        /* @var $entity TestEntity */
        foreach ($entities as $entity) {
            $pk = $entity->getIterator()->getPrimaryKey();
            $args = [];
            foreach ($pk as $fieldName) {
                $args[] = $entity->{$fieldName};
            }
            $totalCount += $removedCount = call_user_func_array([get_class($entity), 'deletePk'], $args);
            $this->assertEquals(1, $removedCount);
        }
        $this->assertEquals(count($entities), $totalCount);
        $this->assertEquals(0, $db->GetOne("SELECT COUNT(*) FROM {$tableName}"));
    }