first attempt to add test

This commit is contained in:
Arnaud Aujon 2015-05-11 13:51:57 +02:00
parent da8aaea343
commit 2db885a2b3

View File

@ -102,6 +102,8 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase
$user=$this->savuser;
$langs=$this->savlangs;
$db=$this->savdb;
// create a third_party, needed to create an invoice
print __METHOD__."\n";
}
@ -118,11 +120,118 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase
/**
* testWSInvoicesXxx
* testWSInvoicesCreateInvoice
*
* @return int
*/
public function testWSInvoicesXxx()
public function testWSInvoicesCreateInvoice()
{
global $conf,$user,$langs,$db;
$conf=$this->savconf;
$user=$this->savuser;
$langs=$this->savlangs;
$db=$this->savdb;
$WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_invoice.php';
$WS_METHOD = 'createInvoice';
$ns='http://www.dolibarr.org/ns/';
// Set the WebService URL
print __METHOD__." create nusoap_client for URL=".$WS_DOL_URL."\n";
$soapclient = new nusoap_client($WS_DOL_URL);
if ($soapclient)
{
$soapclient->soap_defencoding='UTF-8';
$soapclient->decodeUTF8(false);
}
$body = array (
["id"] => NULL,
["ref"]=> NULL,
["ref_ext"]=> "165",
["thirdparty_id"]=> "209",
["fk_user_author"] => NULL,
["fk_user_valid"] => NULL,
["date"]=> "2015-04-19 20:16:53",
["date_due"]=> "",
["date_creation"]=> "",
["date_validation"]=> "",
["date_modification"]=> "",
["type"]=> "",
["total_net"]=> "36.30",
["total_vat"]=> "6.00",
["total"]=> "42.30",
["payment_mode_id"]=> 50,
["note_private"]=> "Synchronised from Prestashop",
["note_public"]=> "",
["status"]=> "1",
["close_code"]=> NULL ,
["close_note"]=> NULL,
["project_id"]=> NULL,
["lines"] => array(
["id"] => NULL,
["type"]=> 0,
["desc"]=> "Horloge Vinyle Serge",
["vat_rate"]=> 20,
["qty"]=> "1",
["unitprice"]=> "30.000000",
["total_net"]=> "30.000000",
["total_vat"]=> "6.00",
["total"]=> "36.000000",
["date_start"]=> "",
["date_end"]=> "",
["payment_mode_id"]=> "",
["product_id"]=> "",
["product_ref"]=> "",
["product_label"]=> "",
["product_desc"]=> "" )
);
// Call the WebService method and store its result in $result.
$authentication=array(
'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
'sourceapplication'=>'DEMO',
'login'=>'admin',
'password'=>'admin',
'entity'=>'');
// Test URL
$result='';
$parameters = array('authentication'=>$authentication,'invoice'=>$body);
print __METHOD__." call method ".$WS_METHOD."\n";
try {
$result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
}
catch(SoapFault $exception)
{
echo $exception;
$result=0;
}
if (! $result || ! empty($result['faultstring']))
{
//var_dump($soapclient);
print $soapclient->error_str;
print "\n<br>\n";
print $soapclient->request;
print "\n<br>\n";
print $soapclient->response;
print "\n";
}
print __METHOD__." result=".$result."\n";
$this->assertEquals('OK',$result['result']['result_code']);
$this->assertEquals('165', $result['ref_ext']);
return $result;
}
/**
* testWSInvoicesGetInvoice
*
* @return int
*/
public function testWSInvoicesGetInvoice()
{
global $conf,$user,$langs,$db;
$conf=$this->savconf;
@ -153,7 +262,7 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase
// Test URL
$result='';
$parameters = array('authentication'=>$authentication,'id'=>1);
$parameters = array('authentication'=>$authentication,'id'=>NULL,'ref'=>NULL,'ref_ext'=>165);
print __METHOD__." call method ".$WS_METHOD."\n";
try {
$result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
@ -176,6 +285,116 @@ class WebservicesInvoicesTest extends PHPUnit_Framework_TestCase
print __METHOD__." result=".$result."\n";
$this->assertEquals('OK',$result['result']['result_code']);
$this->assertEquals('165', $result['result']['invoice']->ref_ext);
return $result;
}
/**
* testWSInvoicesUpdateInvoice
*
* @return int
*/
public function testWSInvoicesUpdateInvoice()
{
global $conf,$user,$langs,$db;
$conf=$this->savconf;
$user=$this->savuser;
$langs=$this->savlangs;
$db=$this->savdb;
$WS_DOL_URL = DOL_MAIN_URL_ROOT.'/webservices/server_invoice.php';
$WS_METHOD = 'updateInvoice';
$ns='http://www.dolibarr.org/ns/';
// Set the WebService URL
print __METHOD__." create nusoap_client for URL=".$WS_DOL_URL."\n";
$soapclient = new nusoap_client($WS_DOL_URL);
if ($soapclient)
{
$soapclient->soap_defencoding='UTF-8';
$soapclient->decodeUTF8(false);
}
// update status to 2
$body = array (
["id"] => NULL,
["ref"]=> NULL,
["ref_ext"]=> "165",
["thirdparty_id"]=> "209",
["fk_user_author"] => NULL,
["fk_user_valid"] => NULL,
["date"]=> "2015-04-19 20:16:53",
["date_due"]=> "",
["date_creation"]=> "",
["date_validation"]=> "",
["date_modification"]=> "",
["type"]=> "",
["total_net"]=> "36.30",
["total_vat"]=> "6.00",
["total"]=> "42.30",
["payment_mode_id"]=> 50,
["note_private"]=> "Synchronised from Prestashop",
["note_public"]=> "",
["status"]=> "2",
["close_code"]=> NULL ,
["close_note"]=> NULL,
["project_id"]=> NULL,
["lines"] => array(
["id"] => NULL,
["type"]=> 0,
["desc"]=> "Horloge Vinyle Serge",
["vat_rate"]=> 20,
["qty"]=> "1",
["unitprice"]=> "30.000000",
["total_net"]=> "30.000000",
["total_vat"]=> "6.00",
["total"]=> "36.000000",
["date_start"]=> "",
["date_end"]=> "",
["payment_mode_id"]=> "",
["product_id"]=> "",
["product_ref"]=> "",
["product_label"]=> "",
["product_desc"]=> "" )
);
// Call the WebService method and store its result in $result.
$authentication=array(
'dolibarrkey'=>$conf->global->WEBSERVICES_KEY,
'sourceapplication'=>'DEMO',
'login'=>'admin',
'password'=>'admin',
'entity'=>'');
// Test URL
$result='';
$parameters = array('authentication'=>$authentication,'invoice'=>$body);
print __METHOD__." call method ".$WS_METHOD."\n";
try {
$result = $soapclient->call($WS_METHOD,$parameters,$ns,'');
}
catch(SoapFault $exception)
{
echo $exception;
$result=0;
}
if (! $result || ! empty($result['faultstring']))
{
//var_dump($soapclient);
print $soapclient->error_str;
print "\n<br>\n";
print $soapclient->request;
print "\n<br>\n";
print $soapclient->response;
print "\n";
}
print __METHOD__." result=".$result."\n";
$this->assertEquals('OK',$result['result']['result_code']);
$this->assertEquals('2', $result['result']['invoice']->status);
return $result;
}