PHP Classes

File: tests/SingleTestIs1DArrayThenDeleteReadOnlyTestThenDeleteWriteTest.php

Recommend this page to a friend!
  Packages of Scott Arciszewski   EasyDB   tests/SingleTestIs1DArrayThenDeleteReadOnlyTestThenDeleteWriteTest.php   Download  
File: tests/SingleTestIs1DArrayThenDeleteReadOnlyTestThenDeleteWriteTest.php
Role: Class source
Content type: text/plain
Description: Class source
Class: EasyDB
Simple Database Abstraction Layer around PDO
Author: By
Last change: Test Improvements + Mutation Testing (#168)

* Update testing frameworks
* Add infection for mutation tests
* Modernize PHPUnit usage
Date: 2 months ago
Size: 1,616 bytes
 

Contents

Class file image Download
<?php
declare(strict_types=1);

namespace
ParagonIE\EasyDB\Tests;

use
ParagonIE\EasyDB\EasyDB;
use
ParagonIE\EasyDB\Factory;
use
PHPUnit\Framework\Attributes\CoversClass;
use
PHPUnit\Framework\Attributes\DataProvider;

#[CoversClass(EasyDB::class)]
#[CoversClass(Factory::class)]
class SingleTestIs1DArrayThenDeleteReadOnlyTestThenDeleteWriteTest extends EasyDBWriteTestCase
{

   
/**
     * @dataProvider goodFactoryCreateArgument2EasyDBInsertManyProvider
     * @param callable $cb
     * @param array $insertMany
     */
    #[DataProvider("goodFactoryCreateArgument2EasyDBInsertManyProvider")]
   
public function testDelete(callable $cb, array $insertMany)
    {
       
$db = $this->easyDBExpectedFromCallable($cb);
       
$db->insertMany('irrelevant_but_valid_tablename', $insertMany);
       
$insertManyTotal = count($insertMany);
       
$this->assertEquals(
           
$db->single('SELECT COUNT(*) FROM irrelevant_but_valid_tablename'),
           
$insertManyTotal
       
);
        foreach (
$insertMany as $insertVal) {
           
$this->assertEquals(
               
$db->single(
                   
'SELECT COUNT(*) FROM irrelevant_but_valid_tablename WHERE foo = ?',
                   
array_values($insertVal)
                ),
               
1
           
);
        }
        for (
$i=0; $i<$insertManyTotal; ++$i) {
           
$db->delete('irrelevant_but_valid_tablename', $insertMany[$i]);
           
$this->assertEquals(
               
$db->single('SELECT COUNT(*) FROM irrelevant_but_valid_tablename'),
                (
$insertManyTotal - ($i + 1))
            );
        }
    }
}