mirror of
https://github.com/gtbu/Typesetter-5.3-p8.git
synced 2024-11-22 22:29:13 +01:00
69 lines
1.7 KiB
PHP
69 lines
1.7 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace phpunit\Admin;
|
||
|
|
||
|
class PermissionsTest extends \gptest_bootstrap{
|
||
|
|
||
|
public function testFilePermissions(){
|
||
|
global $gp_index;
|
||
|
|
||
|
\gp\tool::GetPagesPHP();
|
||
|
|
||
|
$this->CheckEditing('all');
|
||
|
|
||
|
|
||
|
// load form
|
||
|
$this->GetRequest('Admin/Permissions','index=a');
|
||
|
|
||
|
// adding index=a shouldn't change the permissions
|
||
|
$params = [
|
||
|
'verified' => \gp\tool\Nonce::Create('post', true),
|
||
|
'users' => [static::user_name => static::user_name],
|
||
|
'cmd' => 'SaveFilePermissions',
|
||
|
'index' => 'a',
|
||
|
];
|
||
|
|
||
|
$this->PostRequest('/Admin/Permissions',$params);
|
||
|
$this->CheckEditing('all');
|
||
|
|
||
|
// removing index=a
|
||
|
$params = [
|
||
|
'verified' => \gp\tool\Nonce::Create('post', true),
|
||
|
'users' => [],
|
||
|
'cmd' => 'SaveFilePermissions',
|
||
|
'index' => 'a',
|
||
|
];
|
||
|
$expected = array_diff( array_values( $gp_index) , ['a'] );
|
||
|
$expected = ','.implode(',',$expected).',';
|
||
|
|
||
|
$this->PostRequest('/Admin/Permissions',$params);
|
||
|
$this->CheckEditing($expected);
|
||
|
|
||
|
|
||
|
// re-add index=a
|
||
|
$params = [
|
||
|
'verified' => \gp\tool\Nonce::Create('post', true),
|
||
|
'users' => [static::user_name => static::user_name],
|
||
|
'cmd' => 'SaveFilePermissions',
|
||
|
'index' => 'a',
|
||
|
];
|
||
|
$expected = array_values( $gp_index);
|
||
|
$expected = ','.implode(',',$expected).',';
|
||
|
|
||
|
$this->PostRequest('/Admin/Permissions',$params);
|
||
|
$this->CheckEditing($expected);
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
public function CheckEditing($editing_value){
|
||
|
|
||
|
$users = \gp\tool\Files::Get('_site/users');
|
||
|
$this->assertEquals( count($users), 1, 'More than one user found');
|
||
|
$this->assertArrayHasKey(static::user_name, $users,'Default user not found');
|
||
|
$this->assertEquals( $users[static::user_name]['editing'], $editing_value, 'Expected editing value of '.$editing_value.' != '.$users[static::user_name]['editing'] );
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|