Fix dol_check_secure_access_document in write mode, add phpunit tests

This commit is contained in:
Laurent Destailleur
2017-05-20 11:31:03 +02:00
parent df05980c3a
commit 601f3ea75e
2 changed files with 104 additions and 64 deletions

View File

@@ -434,9 +434,48 @@ class FilesLibTest extends PHPUnit_Framework_TestCase
//$dummyuser=new User($db);
//$result=restrictedArea($dummyuser,'societe');
$user->rights->facture->lire = 0;
$user->rights->facture->creer = 0;
$filename='SPECIMEN.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'read');
$this->assertEquals(1,$result['accessallowed']);
// Check read permission
$user->rights->facture->lire = 1;
$user->rights->facture->creer = 1;
$filename='FA010101/FA010101.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'read');
$this->assertEquals(1,$result['accessallowed']);
$user->rights->facture->lire = 0;
$user->rights->facture->creer = 0;
$filename='FA010101/FA010101.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'read');
$this->assertEquals(0,$result['accessallowed']);
// Check write permission
$user->rights->facture->lire = 0;
$user->rights->facture->creer = 0;
$filename='FA010101/FA010101.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'write');
var_dump($result);
$this->assertEquals(0,$result['accessallowed']);
$user->rights->facture->lire = 1;
$user->rights->facture->creer = 1;
$filename='FA010101/FA010101.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'write');
var_dump($result);
$this->assertEquals(1,$result['accessallowed']);
//$result=dol_check_secure_access_document($user,'societe');
//$this->assertEquals(1,$result);
$user->rights->facture->lire = 1;
$user->rights->facture->creer = 0;
$filename='FA010101/FA010101.pdf'; // Filename relative to module part
$result=dol_check_secure_access_document('facture', $filename, 0, '', '', 'write');
var_dump($result);
$this->assertEquals(0,$result['accessallowed']);
}
}