Skip to content

Commit

Permalink
Mise à jour des tests unitaires
Browse files Browse the repository at this point in the history
  • Loading branch information
beMang committed Jan 6, 2019
1 parent a49d43a commit e3d1b88
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 91 deletions.
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Database system

[![Build Status](https://travis-ci.org/beMang/database-system.svg?branch=master)](https://travis-ci.org/beMang/database-system) [![Coverage Status](https://coveralls.io/repos/github/beMang/database-system/badge.svg?branch=master)](https://coveralls.io/github/beMang/database-system?branch=master)

La documentation sera écrite lorsque la librairie sera finie.
# Database system

[![Build Status](https://travis-ci.org/beMang/database-system.svg?branch=master)](https://travis-ci.org/beMang/database-system) [![Coverage Status](https://coveralls.io/repos/github/beMang/database-system/badge.svg?branch=master)](https://coveralls.io/github/beMang/database-system?branch=master)

La documentation sera écrite lorsque la librairie sera finie.

**Version 2.0.0**
1 change: 1 addition & 0 deletions src/DBManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public static function getInstance(ConfigInterface $config = null)
if (is_null(self::$selfInstance)) {
if (!is_null($config)) {
self::$selfInstance = new DBManager($config);
return self::$selfInstance;
} else {
throw new \Exception('Aucune configuration donnée'); //TODO : exception database
}
Expand Down
97 changes: 11 additions & 86 deletions tests/DatabaseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@

class DatabaseTest extends \PHPUnit\Framework\TestCase
{
/**
* Préparation de la bdd pour les tests
*
* @return void
*/
public static function setUpBeforeClass()
{
require(dirname(__FILE__) . '/../vendor/autoload.php');
Expand Down Expand Up @@ -35,6 +40,11 @@ public static function setUpBeforeClass()
)')->execute();
}

/**
* Action après les tests
*
* @return void
*/
public static function tearDownAfterClass()
{
$pdo = new \PDO('mysql:host=localhost', 'root', '', [
Expand All @@ -45,7 +55,7 @@ public static function tearDownAfterClass()

public function testWithEmptyConfig()
{
$this->expectExceptionMessage('Lors de la première récupération d\'instance, $config doit être défini');
$this->expectExceptionMessage('Aucune configuration donnée');
$manager = DBManager::getInstance();
}

Expand Down Expand Up @@ -92,89 +102,4 @@ public function testDatabaseExist()
$this->assertFalse($manager->dataBaseExist(uniqid()));
$this->assertFalse($manager->dataBaseExist(545));
}

public function testInvalidTableName()
{
$tableName = uniqid();
$dbName = uniqid();
$this->expectExceptionMessage('La table ' . $dbName . '_' . $tableName . ' est inexistante');
new Query($tableName, $dbName);
}

public function testEmptyInstance()
{
$query = new Query('user_test', 'base');
$instance = $query->getEmptyInstance();
$this->assertInstanceOf('base_user_test', $instance);
}

public function testInsert()
{
$query = new Query('user_test', 'base');
$instance = $query->getEmptyInstance();
$instance->name = 'Arnlold';
$instance->surname = 'Pierre';
$instance->pseudo = 'griuKu';
$query->insert($instance);
$instance->id = 1;
$this->assertEquals($query->getLast(), $instance);
}

public function testUpdate()
{
$query = new Query('user_test', 'base');
$instance = $query->getLast();
$instance->name = 'Viktor';
$instance->surname = 'Vladivostok';
$instance->pseudo = uniqid();
$query->update($instance);
$this->assertEquals($query->getLast(), $instance);
}

public function testGetWithCondition()
{
$query = new Query('user_test', 'base');
$result = $query->getWithCondition('name', 'Viktor');
$this->assertEquals([$query->getLast()], $result);
}

public function testGetAllAndSqlDbManager()
{
$query = new Query('user_test', 'base');
$instance = $query->getEmptyInstance();
$instance->pseudo = uniqid();
$instance->surname = uniqid();
$instance->name = uniqid();
$query->insert($instance);
$results = $query->getAll();
$manager = DBManager::getInstance();
$realInBdd = $manager->sql('SELECT * FROM user_test', false, 'base');
$this->assertEquals($realInBdd[0]->name, $results[0]->name);
$this->expectExceptionMessage('Error sql');
$manager->sql('SELECT * FROM' . uniqid());
}

public function testDelete()
{
$query = new Query('user_test', 'base');
$toDelete = $query->getLast();
$id = $toDelete->id;
$query->delete($toDelete);
$this->assertEmpty($query->getWithCondition('id', $id));
}

public function testDeleteCust()
{
$query = new Query('user_test', 'base');
$toDelete = $query->getLast();
$id = $toDelete->id;
$query->deleteCustCond('id = ' . $id);
$this->assertEmpty($query->getWithCondition('id', $id));
}

public function testInnerJoin(Type $var = null)
{
$query = new Query('user_test', 'base');
$this->assertEmpty($query->getWithInnerJoin('test2', 'user_test.name = test2.value', 'user_test.id = 4'));
}
}

0 comments on commit e3d1b88

Please sign in to comment.