Completed
Push — master ( 36f3e7...0844ab )
by Fran
07:51
created

PSFSTest::testDispatcher()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 11
rs 9.4285
cc 1
eloc 4
nc 1
nop 0
1
<?php
2
3
namespace PSFS\test;
4
5
use PSFS\base\config\Config;
6
use PSFS\base\Request;
7
use PSFS\base\Router;
8
use PSFS\base\Security;
9
use PSFS\Dispatcher;
10
11
class PSFSTest extends \PHPUnit_Framework_TestCase{
12
13
    /**
14
     * Test básico para el funcionamiento del Dispatcher
15
     */
16
    public function testDispatcher()
17
    {
18
        /** @var \PSFS\Dispatcher $dispatcher */
19
        $dispatcher = Dispatcher::getInstance();
20
21
        // Es instancia de Dispatcher
22
        $this->assertTrue($dispatcher instanceof Dispatcher);
23
24
        // Ha generado un timestamp
25
        $this->assertTrue($dispatcher->getTs() > 0);
26
    }
27
28
    /**
29
     * Text básico para el funcionamiento del Config
30
     */
31
    public function testConfig()
32
    {
33
        $config = Config::getInstance();
34
35
        // Es instancia de Config
36
        $this->assertTrue($config instanceof Config);
37
38
        // Comprobamos que devuelva correctamente si está configurada o no la plataforma
39
        $this->assertTrue(is_bool($config->isConfigured()));
40
41
        // Comprobamos devuelva correctamente si estamos en modo debug
42
        $this->assertTrue(is_bool($config->getDebugMode()));
43
44
        // Comprobamos la extracción de variables de configuración
45
        $this->assertEmpty($config->get(uniqid()));
46
    }
47
48
    /**
49
     * Test básico para el funcionamiento del Router
50
     */
51
    public function testRouter()
52
    {
53
        $router = Router::getInstance();
54
55
        // Es instancia de Router
56
        $this->assertTrue($router instanceof Router);
57
58
        // Revisamos que exista el fichero de rutas
59
        $this->assertFileExists(CONFIG_DIR . DIRECTORY_SEPARATOR . "urls.json");
60
61
        // Revisamos que tengamos rutas de administración y como mínimo la de admin
62
        $adminRoutes = $router->getAdminRoutes();
63
        $this->assertNotEmpty($adminRoutes);
64
        $this->assertArrayHasKey("superadmin", $adminRoutes);
65
    }
66
67
    /**
68
     * Test básico para el funcionamiento de Security
69
     */
70
    public function testSecurity()
71
    {
72
        $security = Security::getInstance();
73
74
        // Es instancia de Security
75
        $this->assertTrue($security instanceof Security);
76
    }
77
78
    /**
79
     * Test básico para el funcionamiento de Request
80
     */
81
    public function testRequest()
82
    {
83
        $request = Request::getInstance();
84
85
        // Es instancia de Request
86
        $this->assertTrue($request instanceof Request);
87
88
        // Verificamos que los comprobadores de cabeceras y uploads funcionan
89
        $this->assertTrue(is_bool($request->hasHeader("session")));
90
        $this->assertTrue(is_bool($request->hasUpload()));
91
        $this->assertTrue(is_bool($request->hasCookies()));
92
        $this->assertTrue(is_bool($request->isAjax()));
93
94
        // Verificamos que se setee el timestamp de arranque
95
        $this->assertNotNull($request->getTs());
96
    }
97
98
}
99