Add units tests for the modelAdmin class
continuous-integration/drone/push Build is passing Details

unit_test
Johan LACHENAL 2 years ago
parent c035dbcb02
commit c83272e06f

@ -106,4 +106,14 @@ class Validate
return true;
}
public static function categories(array $categories): bool
{
foreach ($categories as $category) {
if (strlen($category) > $GLOBALS['categoryMaxLength']) {
return false;
}
}
return true;
}
}

@ -32,4 +32,5 @@ $GLOBALS['titleMaxLength']=50;
$GLOBALS['typeMaxLength']=50;
$GLOBALS['responseMaxLength']=200;
$GLOBALS['usernameMaxLength']=50;
$GLOBALS['categoriesMaxLength']=50;

@ -0,0 +1,69 @@
<?php
namespace testModel;
use PHPUnit\Framework\TestCase;
use Model\ModelAdmin;
use Exception;
class testModelAdminTest extends TestCase
{
public function testConstructor()
{
$model = new ModelAdmin();
$this->assertInstanceOf(ModelAdmin::class, $model);
}
public function testAddQuestionInvalidType()
{
$this->expectException(Exception::class);
$this->expectExceptionMessage("Type de question invalide");
$_POST['type']="JeSuisUnTypeInvalideDePlusDe50CaracteresEtJeSuisTropLongPourEtreUnTypeDeQuestionValide";
$_POST['question']="Suis-je une question valide ?";
$model = (new ModelAdmin())->addQuestion();
}
public function testDeleteQuestionInvalidType()
{
$this->expectException(Exception::class);
$this->expectExceptionMessage("Type de question invalide");
$_POST['type']="JeSuisUnTypeInvalideDePlusDe50CaracteresEtJeSuisTropLongPourEtreUnTypeDeQuestionValide";
$_POST['question']="Suis-je une question valide ?";
$model = (new ModelAdmin())->deleteQuestion();
}
public function testAddResponseInvalidCategories()
{
$this->expectException(Exception::class);
$this->expectExceptionMessage('Categories invalides');
$_POST['categories']=['JeSuisUneCategorieInvalideDePlusDe50CaracteresEtJeSuisTropLonguePourEtreUneCategorieValide'];
$_POST['response']="Suis-je une réponse valide ?";
$model = (new ModelAdmin())->addResponse();
}
public function testAddKeywordInvalidKeyword()
{
$this->expectException(Exception::class);
$this->expectExceptionMessage('Mot clé invalide');
$_POST['keyword']="JeSuisUnMotCleInvalideDePlusDe50CaracteresEtJeSuisTropLonguePourEtreUnMotCleValide";
$model = (new ModelAdmin())->addKeyword();
}
public function testGetCategories()
{
$categories = (new ModelAdmin())->getCategories();
$this->assertIsArray($categories);
}
public function testGetQuestions()
{
$questions = (new ModelAdmin())->getQuestions();
$this->assertIsArray($questions);
}
public function testGetResponsesCandidate()
{
$responses = (new ModelAdmin())->getResponsesCandidate();
$this->assertIsArray($responses);
}
}
Loading…
Cancel
Save