From f8f951b8110bb0f736eff99fc1d4914b4d6b4ba7 Mon Sep 17 00:00:00 2001 From: Nestor <npegane@hotmail.com> Date: Wed, 11 Jul 2018 10:53:34 +0200 Subject: [PATCH] FEAT #7659 Unit test on password controller --- test/PasswordControllerTest.php | 68 +++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 test/PasswordControllerTest.php diff --git a/test/PasswordControllerTest.php b/test/PasswordControllerTest.php new file mode 100644 index 00000000000..929716e8dd2 --- /dev/null +++ b/test/PasswordControllerTest.php @@ -0,0 +1,68 @@ +<?php + +/** +* Copyright Maarch since 2008 under licence GPLv3. +* See LICENCE.txt file at the root folder for more details. +* This file is part of Maarch software. +* +*/ + +use PHPUnit\Framework\TestCase; + +class PasswordControllerTest extends TestCase +{ + public function testGetRules(){ + $passwordController = new \SrcCore\controllers\PasswordController(); + + $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); + $request = \Slim\Http\Request::createFromEnvironment($environment); + + $response = $passwordController->getRules($request, new \Slim\Http\Response()); + $responseBody = json_decode((string)$response->getBody()); + $this->assertInternalType('array', $responseBody->rules); + $this->assertNotNull($responseBody->rules); + } + + public function testUpdateRules(){ + $passwordController = new \SrcCore\controllers\PasswordController(); + + $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); + $request = \Slim\Http\Request::createFromEnvironment($environment); + $aArgs = [ + 'rules' => [ + [ + 'id' => 1, + 'value' => 5, + 'enabled' => 'true', + ] + ] + ]; + $fullRequest = \httpRequestCustom::addContentInBody($aArgs, $request); + $response = $passwordController->updateRules($fullRequest, new \Slim\Http\Response()); + $responseBody = json_decode((string)$response->getBody()); + + $this->assertSame($responseBody->success, 'success'); + } + + public function testIsPasswordValid(){ + $passwordController = new \SrcCore\controllers\PasswordController(); + + $environment = \Slim\Http\Environment::mock(['REQUEST_METHOD' => 'GET']); + $request = \Slim\Http\Request::createFromEnvironment($environment); + + $aArgs = [ + 'password' => 'notValidPassword', + ]; + + $response = $passwordController->isPasswordValid($aArgs); + + $this->assertSame($response,false); + + $aArgs = [ + 'password' => 'validPassword123&', + ]; + + $response = $passwordController->isPasswordValid($aArgs); + $this->assertSame($response,true); + } +} \ No newline at end of file -- GitLab