diff --git a/test/AdherentTest.php b/test/AdherentTest.php
new file mode 100644
index 00000000000..a59ec7e3d85
--- /dev/null
+++ b/test/AdherentTest.php
@@ -0,0 +1,215 @@
+
+ *
+ * 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * \file test/AdherentTest.php
+ * \ingroup test
+ * \brief This file is an example for a PHPUnit test
+ * \version $Id$
+ * \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/Framework.php';
+require_once dirname(__FILE__).'/../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../htdocs/adherents/class/adherent.class.php';
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user with login 'admin'\n";
+ $user->fetch('admin');
+ $user->getrights();
+}
+
+
+/**
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @covers DoliDb
+ * @covers Translate
+ * @covers Conf
+ * @covers Interfaces
+ * @covers CommonObject
+ * @covers Adherent
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class AdherentTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return AdherentTest
+ */
+ function AdherentTest()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+ /**
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+ /**
+ */
+ public function testAdherentCreate()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Adherent($this->savdb);
+ $localobject->initAsSpecimen();
+ $result=$localobject->create($user);
+
+ $this->assertLessThan($result, 0);
+ print __METHOD__." result=".$result."\n";
+ return $result;
+ }
+
+ /**
+ * @depends testAdherentCreate
+ * The depends says test is run only if previous is ok
+ */
+ public function testAdherentFetch($id)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Adherent($this->savdb);
+ $result=$localobject->fetch($id);
+
+ $this->assertLessThan($result, 0);
+ print __METHOD__." id=".$id." result=".$result."\n";
+ return $localobject;
+ }
+
+ /**
+ * @depends testAdherentFetch
+ * The depends says test is run only if previous is ok
+ */
+ public function testAdherentUpdate($localobject)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject->note='New note after update';
+ $result=$localobject->update($user);
+
+ print __METHOD__." id=".$localobject->id." result=".$result."\n";
+ $this->assertLessThan($result, 0);
+ return $localobject;
+ }
+
+ /**
+ * @depends testAdherentUpdate
+ * The depends says test is run only if previous is ok
+ */
+ public function testAdherentValid($localobject)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $result=$localobject->validate($user);
+ print __METHOD__." id=".$localobject->id." result=".$result."\n";
+
+ $this->assertLessThan($result, 0);
+ return $localobject->id;
+ }
+
+ /**
+ * @depends testAdherentValid
+ * The depends says test is run only if previous is ok
+ */
+ public function testAdherentDelete($id)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Adherent($this->savdb);
+ $result=$localobject->fetch($id);
+ $result=$localobject->delete($id);
+
+ print __METHOD__." id=".$id." result=".$result."\n";
+ $this->assertLessThan($result, 0);
+ return $result;
+ }
+
+
+}
+?>
\ No newline at end of file
diff --git a/test/CommandeTest.php b/test/CommandeTest.php
index 342394096b4..a576b82817e 100644
--- a/test/CommandeTest.php
+++ b/test/CommandeTest.php
@@ -42,6 +42,7 @@ if (empty($user->id))
* @backupGlobals disabled
* @backupStaticAttributes enabled
* @covers Commande
+ * @covers OrderLine
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
*/
class CommandeTest extends PHPUnit_Framework_TestCase
diff --git a/test/ContratTest.php b/test/ContratTest.php
new file mode 100644
index 00000000000..4ad4012e2ff
--- /dev/null
+++ b/test/ContratTest.php
@@ -0,0 +1,217 @@
+
+ *
+ * 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * \file test/ContratTest.php
+ * \ingroup test
+ * \brief This file is an example for a PHPUnit test
+ * \version $Id$
+ * \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/Framework.php';
+require_once dirname(__FILE__).'/../htdocs/master.inc.php';
+require_once dirname(__FILE__).'/../htdocs/contrat/contrat.class.php';
+
+if (empty($user->id))
+{
+ print "Load permissions for admin user with login 'admin'\n";
+ $user->fetch('admin');
+ $user->getrights();
+}
+
+
+/**
+ * @backupGlobals disabled
+ * @backupStaticAttributes enabled
+ * @covers DoliDb
+ * @covers Translate
+ * @covers Conf
+ * @covers Interfaces
+ * @covers CommonObject
+ * @covers Contrat
+ * @covers ContratLigne
+ * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
+ */
+class ContratTest extends PHPUnit_Framework_TestCase
+{
+ protected $savconf;
+ protected $savuser;
+ protected $savlangs;
+ protected $savdb;
+
+ /**
+ * Constructor
+ * We save global variables into local variables
+ *
+ * @return ContratTest
+ */
+ function ContratTest()
+ {
+ //$this->sharedFixture
+ global $conf,$user,$langs,$db;
+ $this->savconf=$conf;
+ $this->savuser=$user;
+ $this->savlangs=$langs;
+ $this->savdb=$db;
+
+ print __METHOD__." db->type=".$db->type." user->id=".$user->id;
+ //print " - db ".$db->db;
+ print "\n";
+ }
+
+ // Static methods
+ public static function setUpBeforeClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->begin(); // This is to have all actions inside a transaction even if test launched without suite.
+
+ print __METHOD__."\n";
+ }
+ public static function tearDownAfterClass()
+ {
+ global $conf,$user,$langs,$db;
+ $db->rollback();
+
+ print __METHOD__."\n";
+ }
+
+ /**
+ */
+ protected function setUp()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ print __METHOD__."\n";
+ }
+ /**
+ */
+ protected function tearDown()
+ {
+ print __METHOD__."\n";
+ }
+
+ /**
+ */
+ public function testContratCreate()
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Contrat($this->savdb);
+ $localobject->initAsSpecimen();
+ $result=$localobject->create($user,$langs,$conf);
+
+ $this->assertLessThan($result, 0);
+ print __METHOD__." result=".$result."\n";
+ return $result;
+ }
+
+ /**
+ * @depends testContratCreate
+ * The depends says test is run only if previous is ok
+ */
+ public function testContratFetch($id)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Contrat($this->savdb);
+ $result=$localobject->fetch($id);
+
+ $this->assertLessThan($result, 0);
+ print __METHOD__." id=".$id." result=".$result."\n";
+ return $localobject;
+ }
+
+ /**
+ * @depends testContratFetch
+ * The depends says test is run only if previous is ok
+ */
+/* public function testContratUpdate($localobject)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject->note='New note after update';
+ $result=$localobject->update($user);
+
+ print __METHOD__." id=".$localobject->id." result=".$result."\n";
+ $this->assertLessThan($result, 0);
+ return $localobject;
+ }
+*/
+
+ /**
+ * @depends testContratFetch
+ * The depends says test is run only if previous is ok
+ */
+ public function testContratValid($localobject)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $result=$localobject->update_statut($user);
+ print __METHOD__." id=".$localobject->id." result=".$result."\n";
+
+ $this->assertLessThan($result, 0);
+ return $localobject->id;
+ }
+
+ /**
+ * @depends testContratValid
+ * The depends says test is run only if previous is ok
+ */
+ public function testContratDelete($id)
+ {
+ global $conf,$user,$langs,$db;
+ $conf=$this->savconf;
+ $user=$this->savuser;
+ $langs=$this->savlangs;
+ $db=$this->savdb;
+
+ $localobject=new Contrat($this->savdb);
+ $result=$localobject->fetch($id);
+ $result=$localobject->delete($id);
+
+ print __METHOD__." id=".$id." result=".$result."\n";
+ $this->assertLessThan($result, 0);
+ return $result;
+ }
+
+
+}
+?>
\ No newline at end of file
diff --git a/test/FactureTest.php b/test/FactureTest.php
index 63e2b788555..c61f71df21b 100644
--- a/test/FactureTest.php
+++ b/test/FactureTest.php
@@ -47,9 +47,8 @@ if (empty($user->id))
* @covers Conf
* @covers Interfaces
* @covers CommonObject
- * @covers Societe
- * @covers Contact
* @covers Facture
+ * @covers FactureLigne
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
*/
class FactureTest extends PHPUnit_Framework_TestCase
diff --git a/test/MyTestSuite.php b/test/MyTestSuite.php
index 6efb28f4f28..b3986a8cb09 100644
--- a/test/MyTestSuite.php
+++ b/test/MyTestSuite.php
@@ -30,9 +30,6 @@ global $conf,$user,$langs,$db;
//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver
require_once 'PHPUnit/Framework.php';
require_once dirname(__FILE__).'/../htdocs/master.inc.php';
-require_once dirname(__FILE__).'/FactureTest.php';
-require_once dirname(__FILE__).'/PropalTest.php';
-require_once dirname(__FILE__).'/CommandeTest.php';
if (empty($user->id))
{
@@ -51,9 +48,16 @@ class MyTestSuite
{
$suite = new PHPUnit_Framework_TestSuite('PHPUnit Framework');
- $suite->addTestSuite('FactureTest');
- $suite->addTestSuite('PropalTest');
+ require_once dirname(__FILE__).'/AdherentTest.php';
+ $suite->addTestSuite('AdherentTest');
+ require_once dirname(__FILE__).'/CommandeTest.php';
$suite->addTestSuite('CommandeTest');
+ require_once dirname(__FILE__).'/ContratTest.php';
+ $suite->addTestSuite('ContratTest');
+ require_once dirname(__FILE__).'/FactureTest.php';
+ $suite->addTestSuite('FactureTest');
+ require_once dirname(__FILE__).'/PropalTest.php';
+ $suite->addTestSuite('PropalTest');
return $suite;
}
diff --git a/test/PropalTest.php b/test/PropalTest.php
index d43a1fda434..16048d878ab 100644
--- a/test/PropalTest.php
+++ b/test/PropalTest.php
@@ -42,6 +42,7 @@ if (empty($user->id))
* @backupGlobals disabled
* @backupStaticAttributes enabled
* @covers Propal
+ * @covers PropaleLigne
* @remarks backupGlobals must be disabled to have db,conf,user and lang not erased.
*/
class PropalTest extends PHPUnit_Framework_TestCase
diff --git a/test/README b/test/README
index fd69598d839..52b60cc9b4e 100644
--- a/test/README
+++ b/test/README
@@ -21,6 +21,6 @@ Run > phpunit --coverage-html ./report MyTestSuite.php
Note that xdebug must be installed for this feature to work.
* Generate a report of Unit tests code coverage among all Dolibarr classes:
-Increase your PHP memory (memory_limit in php.ini) to 1Gb.
+Increase your PHP memory (memory_limit in php.ini) to 528MB.
Run > phpunit --configuration ./phpunittest.xml --coverage-html ./report MyTestSuite.php
diff --git a/test/phpunittest.xml b/test/phpunittest.xml
index 1dad0122a5d..24615186bfb 100644
--- a/test/phpunittest.xml
+++ b/test/phpunittest.xml
@@ -5,9 +5,13 @@
../htdocs/includes/adodbtime/
../htdocs/includes/artichow/
../htdocs/includes/fpdf/
+ ../htdocs/lib/databases/mssql.lib.php
+ ../htdocs/lib/databases/pgsql.lib.php
+ ../htdocs/lib/databases/mysql.lib.php
../htdocs/
+ ../htdocs/
\ No newline at end of file