From 2e294d2f97943335e5cdc80707c3a5d34d3a5468 Mon Sep 17 00:00:00 2001
From: sparkyx
Date: Tue, 5 Dec 2023 15:24:01 +0100
Subject: [PATCH] Improve Unit Test for Report
---
html/export.php | 1 +
include/class/acc_bilan.class.php | 8 +-
include/class/lettering.class.php | 2 +-
include/header_print.php | 4 +-
sql/upgrade.sql | 1 +
unit-test/create-dossier-test.sh | 2 +-
unit-test/dossier25.sql.gz | Bin 393280 -> 393280 bytes
unit-test/include/class/NoalyssUserTest.php | 10 +-
.../{acc_bilan.Test.php => acc_bilanTest.php} | 103 +++++++++++++++---
9 files changed, 104 insertions(+), 27 deletions(-)
rename unit-test/include/class/{acc_bilan.Test.php => acc_bilanTest.php} (51%)
diff --git a/html/export.php b/html/export.php
index dda4479b4..4c4443cca 100644
--- a/html/export.php
+++ b/html/export.php
@@ -35,6 +35,7 @@ require_once NOALYSS_INCLUDE . '/class/noalyss_user.class.php';
require_once NOALYSS_INCLUDE.'/lib/http_input.class.php';
$gDossier=dossier::id();
$cn=Dossier::connect();
+$g_parameter=new Noalyss_Parameter_Folder($cn);
mb_internal_encoding("UTF-8");
$g_user=new Noalyss_user($cn);
$g_user->Check();
diff --git a/include/class/acc_bilan.class.php b/include/class/acc_bilan.class.php
index e0b51d7df..d39780f54 100644
--- a/include/class/acc_bilan.class.php
+++ b/include/class/acc_bilan.class.php
@@ -229,7 +229,7 @@ class Acc_Bilan
where pcm_type=$1 or pcm_type=$2";
- $this->db->prepare("sqlAccount",$sqlAccount);
+ if ( ! $this->db->is_prepare("sqlAccount") ) $this->db->prepare("sqlAccount",$sqlAccount);
@@ -298,10 +298,12 @@ class Acc_Bilan
*/
function get_request_get()
{
- $g_parameter=new Noalyss_Parameter_Folder($this->db);
+ // $g_parameter=new Noalyss_Parameter_Folder($this->db);
+ global $g_parameter;
$http=new \HttpInput();
$this->b_id=$http->get("b_id","number","");
if ( $g_parameter->MY_REPORT=="Y") {
+
$this->from=$http->get("from_periode","number",-1);
$this->to=$http->get("to_periode","number",-1);
}else {
@@ -374,7 +376,7 @@ class Acc_Bilan
*/
function compute_formula($p_handle)
{
- $g_parameter=new Noalyss_Parameter_Folder($this->db);
+ global $g_parameter;
while (! feof ($p_handle))
{
$buffer=trim(fgets($p_handle));
diff --git a/include/class/lettering.class.php b/include/class/lettering.class.php
index 924610eca..63e9a9a5c 100644
--- a/include/class/lettering.class.php
+++ b/include/class/lettering.class.php
@@ -54,7 +54,7 @@ class Lettering
* @param $p_init resource to database
* @note by default start and end are the 1.1.exercice to 31.12.exercice
*/
- function __construct(public $p_init)
+ function __construct( $p_init)
{
$this->db=$p_init;
$a=new Noalyss_user($p_init);
diff --git a/include/header_print.php b/include/header_print.php
index 90fb24b81..f4fe658bb 100644
--- a/include/header_print.php
+++ b/include/header_print.php
@@ -35,9 +35,7 @@ function header_txt($p_cn)
$date=date('d / m / Y H:i ');
$dossier=mb_convert_encoding(" Dossier : ".dossier::name(),'ISO-8859-1','UTF-8');
- // convert to latin1
- $dossier=iconv('UTF-8','ISO-8859-1//IGNORE',$str);
-
+
return $dossier." ".$soc." ".$date;
}
diff --git a/sql/upgrade.sql b/sql/upgrade.sql
index c1b424bb5..7d4f8e9d1 100644
--- a/sql/upgrade.sql
+++ b/sql/upgrade.sql
@@ -36,4 +36,5 @@ public.fiche_detail for each row execute function comptaproc.fiche_detail_check_
update fiche_detail set ad_value=ad_value where ad_id in (select ad_id from attr_def where ad_type='card');
+insert into parameter values ('MY_REPORT','N') ON CONFLICT DO NOTHING;
diff --git a/unit-test/create-dossier-test.sh b/unit-test/create-dossier-test.sh
index b7dab135f..a609f783b 100755
--- a/unit-test/create-dossier-test.sh
+++ b/unit-test/create-dossier-test.sh
@@ -11,5 +11,5 @@ if [ $? -ne 0 ] ; then
fi
createdb $DOSSIER_TEST
-psql $DOSSIER_TEST < db/$FILE_TEST
+psql -X $DOSSIER_TEST < db/$FILE_TEST
diff --git a/unit-test/dossier25.sql.gz b/unit-test/dossier25.sql.gz
index 13780fabf14b8b6903a66d3cef8405663a108ce7..a7b28e950b6acad62024acd6f052c85454cf5e64 100644
GIT binary patch
delta 36
rcmX@mAaS5Ufobject->getPassword();
$this->assertEquals(USE_PASS,$old_password,"Password mismatch");
- $this->assertFalse($this->object->save_password("test1","test2"),"Passwords must be identical");
- $this->assertTrue($this->object->save_password("test2","test2"),"Identical passwords seen as different");
+ $this->assertFalse($this->object->save_password("test1+T123","test2+T123"),"Passwords must be identical");
+ $this->assertTrue($this->object->save_password("test2+T123","test2+T123"),"Identical passwords seen as different");
$this->object->load();
$new_password = $this->object->getPassword();
$this->assertTrue(($old_password != $new_password),"Password not changed old=$old_password new=$new_password");
- $this->assertTrue($new_password=='ad0234829205b9033196ba818f7a872b',"Password incorrect");
+ $this->assertTrue($new_password=='b37707c6d3d6a702aa7968b5f182772a',"Password incorrect $new_password");
diff --git a/unit-test/include/class/acc_bilan.Test.php b/unit-test/include/class/acc_bilanTest.php
similarity index 51%
rename from unit-test/include/class/acc_bilan.Test.php
rename to unit-test/include/class/acc_bilanTest.php
index e6394844a..72bd531b4 100644
--- a/unit-test/include/class/acc_bilan.Test.php
+++ b/unit-test/include/class/acc_bilanTest.php
@@ -41,20 +41,40 @@ class Acc_BilanTest extends TestCase
* @covers Acc_Bilan::display_form
* @todo Implement testDisplay_form().
*/
- public function testDisplay_form()
+ public function testDisplay_formReport()
{
+ global $g_parameter;
+ $g_parameter->MY_REPORT='Y';
$r=$this->object->display_form();
- $this->assertStringStartsWith('',$r);
-
- }
+ $this->assertFalse(empty($r), "display_form must return a HTML string");
+ $this->assertStringStartsWith('',$r);
+ }
+ /**
+ * @covers Acc_Bilan::display_form
+ * @todo Implement testDisplay_form().
+ */
+ public function testDisplay_formNoReport()
+ {
+ global $g_parameter;
+ $g_parameter->MY_REPORT='N';
+ $r=$this->object->display_form();
+ $this->assertFalse(empty($r), "display_form must return a HTML string");
+ $this->assertStringStartsWith('
',$r);
+ }
/**
* @covers Acc_Bilan::verify
* @todo Implement testVerify().
*/
- public function testVerify()
+ public function testVerifyNoReport()
{
+ global $g_parameter;
+ $g_parameter->MY_REPORT='N';
+ $this->object->from='01.01.2000';
+ $this->object->to='31.12.2024';
ob_start();
$this->object->verify();
$r=ob_get_contents();
@@ -62,13 +82,30 @@ class Acc_BilanTest extends TestCase
$this->assertStringStartsWith('',$r);
}
+ /**
+ * @covers Acc_Bilan::verify
+ * @todo Implement testVerify().
+ */
+ public function testVerifyReport()
+ {
+ global $g_parameter;
+ $g_parameter->MY_REPORT='Y';
+ ob_start();
+ $this->object->verify();
+ $r=ob_get_contents();
+ ob_end_clean();
+
+ $this->assertStringStartsWith('',$r);
+ }
/**
* @covers Acc_Bilan::get_request_get
* @todo Implement testGet_request_get().
*/
- public function testGet_request_get()
+ public function testGet_request_getReport()
{
+ global $g_parameter;
+ $g_parameter->MY_REPORT='Y';
$_GET['b_id']=111;
$_GET['from_periode']=95;
$_GET['to_periode']=100;
@@ -77,7 +114,22 @@ class Acc_BilanTest extends TestCase
$this->assertEquals($this->object->from,95);
$this->assertEquals($this->object->to,100);
}
-
+ /**
+ * @covers Acc_Bilan::get_request_get
+ * @todo Implement testGet_request_get().
+ */
+ public function testGet_request_getNoReport()
+ {
+ global $g_parameter;
+ $g_parameter->MY_REPORT='N';
+ $_GET['b_id']=111;
+ $_GET['from_periode']='01.01.2000';
+ $_GET['to_periode']='31.12.2024';
+ $this->object->get_request_get();
+ $this->assertEquals($this->object->b_id,111);
+ $this->assertEquals($this->object->from,'01.01.2000');
+ $this->assertEquals($this->object->to,'31.12.2024');
+ }
/**
* @covers Acc_Bilan::load
*/
@@ -123,25 +175,48 @@ class Acc_BilanTest extends TestCase
$this->assertTrue(FALSE);
}
}
-
/**
* @covers Acc_Bilan::compute_formula
*/
- public function testCompute_formula()
+ public function testCompute_formulaReport()
{
+ global $g_parameter;
+ $g_parameter->MY_REPORT='Y';
+ $this->object->b_id=1;
+ $hFile=fopen("document/fr_be/bnb.form",'r');
+
+ $this->object->from=92;
+ $this->object->to=103;
+
+ $this->object->compute_formula($hFile);
+ $this->assertTrue(isset($this->object->C70),"Exist C70");
+ $this->assertTrue(isset($this->object->C60),"Exist C60");
+ $this->assertTrue(isset($this->object->C61),"Exist C61");
+ $this->assertEquals($this->object->C70,456.8);
+ $this->assertEquals($this->object->C60,0);
+ $this->assertEquals($this->object->C61,1468.33);
+
+ }
+ /**
+ * @covers Acc_Bilan::compute_formula
+ */
+ public function testCompute_formulaNoReport()
+ {
+ global $g_parameter;
+ $g_parameter->MY_REPORT='N';
$this->object->b_id=1;
$hFile=fopen("document/fr_be/bnb.form",'r');
- $this->object->from=92;
- $this->object->to=103;
+ $this->object->from='01.01.2000';
+ $this->object->to='31.12.2024';
$this->object->compute_formula($hFile);
$this->assertTrue(isset($this->object->C70),"Exist C70");
$this->assertTrue(isset($this->object->C60),"Exist C60");
$this->assertTrue(isset($this->object->C61),"Exist C61");
- $this->assertEquals($this->object->C70,456.8);
+ $this->assertEquals($this->object->C70,4948.34);
$this->assertEquals($this->object->C60,0);
- $this->assertEquals($this->object->C61,1468.33);
+ $this->assertEquals($this->object->C61,10498.33);
}