NEW : Template supplier invoices

This commit is contained in:
Adrien Raze
2022-02-07 14:34:27 +01:00
parent 9f7e8fa3ed
commit ee52cac3ba
2815 changed files with 56596 additions and 30626 deletions

View File

@@ -143,11 +143,13 @@ class UserTest extends PHPUnit\Framework\TestCase
$langs=$this->savlangs;
$db=$this->savdb;
print __METHOD__." USER_PASSWORD_GENERATED=".getDolGlobalString('USER_PASSWORD_GENERATED')."\n";
$localobject=new User($this->savdb);
$localobject->initAsSpecimen();
$result=$localobject->create($user);
$this->assertLessThan($result, 0);
$this->assertLessThan($result, 0, 'Creation of user has failed: '.$localobject->error);
print __METHOD__." result=".$result."\n";
return $result;
}
@@ -256,15 +258,128 @@ class UserTest extends PHPUnit\Framework\TestCase
print __METHOD__." localobject->date_creation=".$localobject->date_creation."\n";
$this->assertNotEquals($localobject->date_creation, '');
return $localobject;
}
/**
* testUserSetPassword
*
* @param User $localobject User
* @return void
* @depends testUserOther
* The depends says test is run only if previous is ok
*/
public function testUserSetPassword($localobject)
{
global $conf,$user,$langs,$db;
$conf=$this->savconf;
$user=$this->savuser;
$langs=$this->savlangs;
$db=$this->savdb;
// Test the 'none' password generator
$conf->global->USER_PASSWORD_GENERATED = 'none';
$localobject->error = '';
$result = $localobject->setPassword($user, 'abcdef');
print __METHOD__." set a small password with USER_PASSWORD_GENERATED = none\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('abcdef', $result);
// Test the 'standard' password generator
$conf->global->USER_PASSWORD_GENERATED = 'standard';
$localobject->error = '';
$result = $localobject->setPassword($user, '123456789AA');
print __METHOD__." set a too small password with USER_PASSWORD_GENERATED = standard\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass too small) and we did not here');
// Test the 'perso' password generator
$conf->global->USER_PASSWORD_GENERATED = 'perso';
$conf->global->USER_PASSWORD_PATTERN = '12;2;2;2;3;1';
$localobject->error = '';
$result = $localobject->setPassword($user, '1234567892BB');
print __METHOD__." set a too small password with USER_PASSWORD_GENERATED = perso\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass too small) and we did not here');
$localobject->error = '';
$result = $localobject->setPassword($user, '$*34567890AB');
print __METHOD__." set a good password\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('$*34567890AB', $result, 'We must get the password as it is valid (pass enough long) and we did not here');
// Test uppercase : $chartofound = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$localobject->error = '';
$result = $localobject->setPassword($user, '$*123456789A');
print __METHOD__." set a password without uppercase\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass without enough uppercase) and we did not here');
$localobject->error = '';
$result = $localobject->setPassword($user, '$*34567890CD');
print __METHOD__." set a password with enough uppercase\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('$*34567890CD', $result, 'We must get the password as it is valid (pass with enough uppercase) and we did not here');
// Test digits : $chartofound = "!@#$%&*()_-+={}[]\\|:;'/";
$localobject->error = '';
$result = $localobject->setPassword($user, '$*ABCDEFGHIJ');
print __METHOD__." set a password without digits\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass without enough digits) and we did not here');
$localobject->error = '';
$result = $localobject->setPassword($user, '$*12ABCDEFGH');
print __METHOD__." set a password with enough digits\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('$*12ABCDEFGH', $result, 'We must get the password as it is valid (pass with enough digits) and we did not here');
// Test special chars : $chartofound = "!@#$%&*()_-+={}[]\\|:;'/";
$localobject->error = '';
$result = $localobject->setPassword($user, '1234567890AA');
print __METHOD__." set a password without enough special chars\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass without enough special chars) and we did not here');
$localobject->error = '';
$result = $localobject->setPassword($user, '$*12345678AA');
print __METHOD__." set a password with enough special chars\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('$*12345678AA', $result, 'We must get the password as it is valid (pass with enough special chars) and we did not here');
// Test consecutive chars
$localobject->error = '';
$result = $localobject->setPassword($user, '$*1111567890AA');
print __METHOD__." set a password with too many consecutive chars\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals(-1, $result, 'We must receive a negative error code (pass has n consecutive similar chars) and we did not here');
$localobject->error = '';
$result = $localobject->setPassword($user, '$*11145678AA');
print __METHOD__." set a password with noo too much consecutive chars\n";
print __METHOD__." localobject->error=".$localobject->error."\n";
$this->assertEquals('$*11145678AA', $result, 'We must get the password as it is valid (pass has not too much similar consecutive chars) and we did not here');
return $localobject->id;
}
/**
* testUserDelete
*
* @param int $id User id
* @return void
* @depends testUserOther
* @depends testUserSetPassword
* The depends says test is run only if previous is ok
*/
public function testUserDelete($id)