Skip to content

Commit

Permalink
Add test for Conf
Browse files Browse the repository at this point in the history
  • Loading branch information
mdeweerd committed Apr 11, 2024
1 parent 73af628 commit d00abfc
Show file tree
Hide file tree
Showing 2 changed files with 93 additions and 0 deletions.
2 changes: 2 additions & 0 deletions test/phpunit/AllTests.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ public static function suite()
//$suite->addTestSuite('CoreTest');
require_once dirname(__FILE__).'/AdminLibTest.php';
$suite->addTestSuite('AdminLibTest');
require_once dirname(__FILE__).'/ConfTest.php';
$suite->addTestSuite('ConfTest');
require_once dirname(__FILE__).'/CompanyLibTest.php';
$suite->addTestSuite('CompanyLibTest');
require_once dirname(__FILE__).'/DateLibTest.php';
Expand Down
91 changes: 91 additions & 0 deletions test/phpunit/ConfTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?php
/* Copyright (C) 2013 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2023 Alexandre Janniaux <alexandre.janniaux@gmail.com>
* Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* or see https://www.gnu.org/
*/

/**
* \file test/phpunit/FactureRecTest.php
* \ingroup test
* \brief PHPUnit test
* \remarks To run this script as CLI: phpunit filename.php
*/

global $conf,$user,$langs,$db;
//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
//require_once 'PHPUnit/Autoload.php';
require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
require_once dirname(__FILE__).'/CommonClassTest.class.php';

if (empty($user->id)) {
print "Load permissions for admin user nb 1\n";
$user->fetch(1);
$user->getrights();
}
$conf->global->MAIN_DISABLE_ALL_MAILS = 1;


/**
* Class for PHPUnit tests
*
* @backupGlobals disabled
* @backupStaticAttributes enabled
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
*/
class ConfTest extends CommonClassTest
{
/**
* Provider for moduleMap test.
*
* TODO: extend to help test expected dir_output path which depends
* on module name, so extra list is needed
*
* @return array<string,array{0:string,1:string}>
*/
public function moduleMapProvider()
{
$tests = [];
foreach (self::DEPRECATED_MODULE_MAPPING as $old => $new) {
$tests[$old] = [$old, $new];
}
return $tests;
}

/**
* testModulePaths
*
* @dataProvider moduleMapProvider
*
* @param string $old Module
* @param string $new New Module
* @return void
*/
public function testModulePaths($old, $new)
{
global $conf,$user,$langs,$db;

$conf = $this->savconf;
$user = $this->savuser;
$langs = $this->savlangs;
$db = $this->savdb;

print "DIR_OUTPUT for $old is {$conf->$old->dir_output}".PHP_EOL;
print "DIR_OUTPUT for $new is {$conf->$new->dir_output}".PHP_EOL;
$this->assertEquals($conf->$old->dir_output, $conf->$new->dir_output, "Old and new dir_output must be equal");
$this->assertEquals($conf->$old->dir_output, $conf->$new->dir_output, "Old and new dir_output must be equal");
}
}

0 comments on commit d00abfc

Please sign in to comment.