--- /dev/null
+<?php
+
+class FrontControllerTest extends AlloServeurTestNoDB {
+
+ /** @var FrontController */
+ private $frontController;
+
+ protected function setUp(){
+ parent::setUp();
+ $this->frontController = new FrontController();
+ $session[ApplicationController::SESSION_KEY][SessionController::IS_LOGGUED] = true;
+ $this->frontController->setSession($session);
+ }
+
+ public function testNoRequest(){
+ $this->expectedAlloErreur("Impossible de lire la request_method.");
+ $this->frontController->go();
+ }
+
+ public function testBadMethod(){
+ $server['REQUEST_METHOD'] = 'DEL';
+ $this->frontController->setServer($server);
+ $this->expectedAlloErreur("L'action DEL n'est pas gérée par ce serveur.");
+ $this->frontController->go();
+ }
+
+ public function testNoAction(){
+ $server['REQUEST_METHOD'] = 'GET';
+ $this->frontController->setServer($server);
+ $this->expectedAlloErreur("Le paramètre « action » n'a pas été fourni");
+ $this->frontController->go();
+ }
+
+ public function testBadAction(){
+ $server['REQUEST_METHOD'] = 'GET';
+ $get['action'] = 'notexisting_action';
+ $this->frontController->setServer($server);
+ $this->frontController->setGet($get);
+ $this->expectedAlloErreur("L'action notexisting_action est inconnue sur ce serveur");
+ $this->frontController->go();
+ }
+
+ public function testActionBadMethod(){
+ $server['REQUEST_METHOD'] = 'GET';
+ $this->frontController->setServer($server);
+ $get['action'] = 'allo_badmethod';
+ $this->frontController->setGet($get);
+ $this->expectedAlloErreur("L'action allo_badmethod est inconnue sur ce serveur");
+ $this->frontController->go();
+ }
+
+ public function testOK(){
+ $server['REQUEST_METHOD'] = 'GET';
+ $get['action'] = 'allo_version';
+ $this->frontController->setServer($server);
+ $this->frontController->setGet($get);
+ $this->expectOutputRegex("#{\"retour\":\"OK\",\"message\":\"\"#");
+ $this->frontController->go();
+ }
+
+ public function testSetSession(){
+ $session = array();
+ $this->frontController->setSession($session);
+ }
+
+}
\ No newline at end of file