AllTests.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <?php
  2. /* Copyright (C) 2010-2012 Laurent Destailleur <eldy@users.sourceforge.net>
  3. * Copyright (C) 2011-2012 Regis Houssin <regis.houssin@inodbox.com>
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License as published by
  7. * the Free Software Foundation; either version 3 of the License, or
  8. * (at your option) any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU General Public License
  16. * along with this program. If not, see <https://www.gnu.org/licenses/>.
  17. * or see https://www.gnu.org/
  18. */
  19. /**
  20. * \file test/phpunit/AllTest.php
  21. * \ingroup test
  22. * \brief This file is a test suite to run all unit tests
  23. * \remarks To run this script as CLI: phpunit filename.php
  24. */
  25. print "PHP Version: ".phpversion()."\n";
  26. print "Memory limit: ". ini_get('memory_limit')."\n";
  27. global $conf,$user,$langs,$db;
  28. //define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
  29. //require_once 'PHPUnit/Autoload.php';
  30. require_once dirname(__FILE__).'/../../htdocs/master.inc.php';
  31. print 'DOL_MAIN_URL_ROOT='.DOL_MAIN_URL_ROOT."\n"; // constant will be used by other tests
  32. if ($langs->defaultlang != 'en_US') {
  33. print "Error: Default language for company to run tests must be set to en_US or auto. Current is ".$langs->defaultlang."\n";
  34. exit(1);
  35. }
  36. if (!isModEnabled('adherent')) {
  37. print "Error: Module member must be enabled to have significant results.\n";
  38. exit(1);
  39. }
  40. if (isModEnabled('ldap')) {
  41. print "Error: LDAP module should not be enabled.\n";
  42. exit(1);
  43. }
  44. if (isModEnabled('google')) {
  45. print "Warning: Google module should not be enabled.\n";
  46. }
  47. if (empty($user->id)) {
  48. print "Load permissions for admin user nb 1\n";
  49. $user->fetch(1);
  50. $user->getrights();
  51. }
  52. $conf->global->MAIN_DISABLE_ALL_MAILS=1;
  53. $conf->global->MAIN_UMASK='666';
  54. /**
  55. * Class for the All test suite
  56. */
  57. class AllTests
  58. {
  59. /**
  60. * Function suite to make all PHPUnit tests
  61. *
  62. * @return void
  63. */
  64. public static function suite()
  65. {
  66. $suite = new PHPUnit\Framework\TestSuite('PHPUnit Framework');
  67. //require_once dirname(__FILE__).'/CoreTest.php';
  68. //$suite->addTestSuite('CoreTest');
  69. require_once dirname(__FILE__).'/AdminLibTest.php';
  70. $suite->addTestSuite('AdminLibTest');
  71. require_once dirname(__FILE__).'/CompanyLibTest.php';
  72. $suite->addTestSuite('CompanyLibTest');
  73. require_once dirname(__FILE__).'/DateLibTest.php';
  74. $suite->addTestSuite('DateLibTest');
  75. require_once dirname(__FILE__).'/UtilsTest.php';
  76. $suite->addTestSuite('UtilsTest');
  77. require_once dirname(__FILE__).'/LesscTest.php';
  78. $suite->addTestSuite('LesscTest');
  79. //require_once dirname(__FILE__).'/DateLibTzFranceTest.php';
  80. //$suite->addTestSuite('DateLibTzFranceTest');
  81. require_once dirname(__FILE__).'/MarginsLibTest.php';
  82. $suite->addTestSuite('MarginsLibTest');
  83. require_once dirname(__FILE__).'/FilesLibTest.php';
  84. $suite->addTestSuite('FilesLibTest');
  85. require_once dirname(__FILE__).'/GetUrlLibTest.php';
  86. $suite->addTestSuite('GetUrlLibTest');
  87. require_once dirname(__FILE__).'/JsonLibTest.php';
  88. $suite->addTestSuite('JsonLibTest');
  89. require_once dirname(__FILE__).'/ImagesLibTest.php';
  90. $suite->addTestSuite('ImagesLibTest');
  91. require_once dirname(__FILE__).'/FunctionsLibTest.php';
  92. $suite->addTestSuite('FunctionsLibTest');
  93. require_once dirname(__FILE__).'/Functions2LibTest.php';
  94. $suite->addTestSuite('Functions2LibTest');
  95. require_once dirname(__FILE__).'/XCalLibTest.php';
  96. $suite->addTestSuite('XCalLibTest');
  97. // Rules into source files content
  98. require_once dirname(__FILE__).'/RepositoryTest.php';
  99. $suite->addTestSuite('RepositoryTest');
  100. require_once dirname(__FILE__).'/LangTest.php';
  101. $suite->addTestSuite('LangTest');
  102. require_once dirname(__FILE__).'/CodingSqlTest.php';
  103. $suite->addTestSuite('CodingSqlTest');
  104. require_once dirname(__FILE__).'/CodingPhpTest.php';
  105. $suite->addTestSuite('CodingPhpTest');
  106. require_once dirname(__FILE__).'/DoliDBTest.php';
  107. $suite->addTestSuite('DoliDBTest');
  108. require_once dirname(__FILE__).'/SecurityTest.php';
  109. $suite->addTestSuite('SecurityTest');
  110. require_once dirname(__FILE__).'/UserTest.php';
  111. $suite->addTestSuite('UserTest');
  112. require_once dirname(__FILE__).'/UserGroupTest.php';
  113. $suite->addTestSuite('UserGroupTest');
  114. require_once dirname(__FILE__).'/NumberingModulesTest.php';
  115. $suite->addTestSuite('NumberingModulesTest');
  116. require_once dirname(__FILE__).'/PgsqlTest.php';
  117. $suite->addTestSuite('PgsqlTest');
  118. require_once dirname(__FILE__).'/PdfDocTest.php';
  119. $suite->addTestSuite('PdfDocTest');
  120. require_once dirname(__FILE__).'/BuildDocTest.php';
  121. $suite->addTestSuite('BuildDocTest');
  122. require_once dirname(__FILE__).'/CMailFileTest.php';
  123. $suite->addTestSuite('CMailFileTest');
  124. require_once dirname(__FILE__).'/CommonObjectTest.php';
  125. $suite->addTestSuite('CommonObjectTest');
  126. require_once dirname(__FILE__).'/ActionCommTest.php';
  127. $suite->addTestSuite('ActionCommTest');
  128. require_once dirname(__FILE__).'/SocieteTest.php';
  129. $suite->addTestSuite('SocieteTest');
  130. require_once dirname(__FILE__).'/ReceptionTest.php';
  131. $suite->addTestSuite('ReceptionTest');
  132. require_once dirname(__FILE__).'/ContactTest.php';
  133. $suite->addTestSuite('ContactTest');
  134. require_once dirname(__FILE__).'/AdherentTest.php';
  135. $suite->addTestSuite('AdherentTest');
  136. require_once dirname(__FILE__).'/ProductTest.php';
  137. $suite->addTestSuite('ProductTest');
  138. require_once dirname(__FILE__).'/PricesTest.php';
  139. $suite->addTestSuite('PricesTest');
  140. require_once dirname(__FILE__).'/DiscountTest.php';
  141. $suite->addTestSuite('DiscountTest');
  142. require_once dirname(__FILE__).'/BOMTest.php';
  143. $suite->addTestSuite('BOMTest');
  144. require_once dirname(__FILE__).'/ContratTest.php';
  145. $suite->addTestSuite('ContratTest');
  146. require_once dirname(__FILE__).'/FichinterTest.php';
  147. $suite->addTestSuite('FichinterTest');
  148. require_once dirname(__FILE__).'/TicketTest.php';
  149. $suite->addTestSuite('TicketTest');
  150. require_once dirname(__FILE__).'/PropalTest.php';
  151. $suite->addTestSuite('PropalTest');
  152. require_once dirname(__FILE__).'/SupplierProposalTest.php';
  153. $suite->addTestSuite('SupplierProposalTest');
  154. require_once dirname(__FILE__).'/CommandeTest.php';
  155. $suite->addTestSuite('CommandeTest');
  156. require_once dirname(__FILE__).'/CommandeFournisseurTest.php';
  157. $suite->addTestSuite('CommandeFournisseurTest');
  158. require_once dirname(__FILE__).'/CommonInvoiceTest.php';
  159. $suite->addTestSuite('CommonInvoiceTest');
  160. require_once dirname(__FILE__).'/FactureTest.php';
  161. $suite->addTestSuite('FactureTest');
  162. require_once dirname(__FILE__).'/FactureRecTest.php';
  163. $suite->addTestSuite('FactureRecTest');
  164. require_once dirname(__FILE__).'/FactureTestRounding.php';
  165. $suite->addTestSuite('FactureTestRounding');
  166. require_once dirname(__FILE__).'/FactureFournisseurTest.php';
  167. $suite->addTestSuite('FactureFournisseurTest');
  168. require_once dirname(__FILE__).'/BankAccountTest.php';
  169. $suite->addTestSuite('BankAccountTest');
  170. require_once dirname(__FILE__).'/CompanyBankAccountTest.php';
  171. $suite->addTestSuite('CompanyBankAccountTest');
  172. require_once dirname(__FILE__).'/BonPrelevementTest.php';
  173. $suite->addTestSuite('BonPrelevementTest');
  174. require_once dirname(__FILE__).'/ChargeSocialesTest.php';
  175. $suite->addTestSuite('ChargeSocialesTest');
  176. require_once dirname(__FILE__).'/HolidayTest.php';
  177. $suite->addTestSuite('HolidayTest');
  178. require_once dirname(__FILE__).'/ExpenseReportTest.php';
  179. $suite->addTestSuite('ExpenseReportTest');
  180. require_once dirname(__FILE__).'/LoanTest.php';
  181. $suite->addTestSuite('LoanTest');
  182. require_once dirname(__FILE__).'/EntrepotTest.php';
  183. $suite->addTestSuite('EntrepotTest');
  184. require_once dirname(__FILE__).'/MouvementStockTest.php';
  185. $suite->addTestSuite('MouvementStockTest');
  186. require_once dirname(__FILE__).'/InventoryTest.php';
  187. $suite->addTestSuite('InventoryTest');
  188. require_once dirname(__FILE__).'/CategorieTest.php';
  189. $suite->addTestSuite('CategorieTest');
  190. require_once dirname(__FILE__).'/ProjectTest.php';
  191. $suite->addTestSuite('ProjectTest');
  192. require_once dirname(__FILE__).'/KnowledgeRecordTest.php';
  193. $suite->addTestSuite('KnowledgeRecordTest');
  194. require_once dirname(__FILE__).'/AccountingAccountTest.php';
  195. $suite->addTestSuite('AccountingAccountTest');
  196. require_once dirname(__FILE__).'/AssetModelTest.php';
  197. $suite->addTestSuite('AssetModelTest');
  198. // Rest
  199. require_once dirname(__FILE__).'/RestAPIUserTest.php';
  200. $suite->addTestSuite('RestAPIUserTest');
  201. require_once dirname(__FILE__).'/RestAPIContactTest.php';
  202. $suite->addTestSuite('RestAPIContactTest');
  203. require_once dirname(__FILE__).'/RestAPIDocumentTest.php';
  204. $suite->addTestSuite('RestAPIDocumentTest');
  205. // Test only with php7.2 or less
  206. //if ((float) phpversion() < 7.3)
  207. //{
  208. require_once dirname(__FILE__).'/WebservicesProductsTest.php';
  209. $suite->addTestSuite('WebservicesProductsTest');
  210. require_once dirname(__FILE__).'/WebservicesInvoicesTest.php';
  211. $suite->addTestSuite('WebservicesInvoicesTest');
  212. require_once dirname(__FILE__).'/WebservicesOrdersTest.php';
  213. $suite->addTestSuite('WebservicesOrdersTest');
  214. require_once dirname(__FILE__).'/WebservicesOtherTest.php';
  215. $suite->addTestSuite('WebservicesOtherTest');
  216. require_once dirname(__FILE__).'/WebservicesThirdpartyTest.php';
  217. $suite->addTestSuite('WebservicesThirdpartyTest');
  218. require_once dirname(__FILE__).'/WebservicesUserTest.php';
  219. $suite->addTestSuite('WebservicesUserTest');
  220. //}
  221. require_once dirname(__FILE__).'/ExportTest.php';
  222. $suite->addTestSuite('ExportTest');
  223. require_once dirname(__FILE__).'/ImportTest.php';
  224. $suite->addTestSuite('ImportTest');
  225. require_once dirname(__FILE__).'/ScriptsTest.php';
  226. $suite->addTestSuite('ScriptsTest');
  227. require_once dirname(__FILE__).'/ModulesTest.php'; // At end because it's the longer
  228. $suite->addTestSuite('ModulesTest');
  229. // GUI
  230. require_once dirname(__FILE__).'/FormAdminTest.php';
  231. $suite->addTestSuite('FormAdminTest');
  232. require_once dirname(__FILE__).'/FormTest.php';
  233. $suite->addTestSuite('FormTest');
  234. // Payment services
  235. require_once dirname(__FILE__).'/PaypalTest.php';
  236. $suite->addTestSuite('PaypalTest');
  237. require_once dirname(__FILE__).'/StripeTest.php';
  238. $suite->addTestSuite('StripeTest');
  239. // Email collector
  240. require_once dirname(__FILE__).'/EmailCollectorTest.php';
  241. $suite->addTestSuite('EmailCollectorTest');
  242. // Website
  243. require_once dirname(__FILE__).'/WebsiteTest.php';
  244. $suite->addTestSuite('WebsiteTest');
  245. return $suite;
  246. }
  247. }