File: D:/HostingSpaces/SBogers10/gggg.komma.nl/vendor/komma/kms/tests/Unit/ReadOnlyAttributeTest.php
<?php
namespace Tests\Unit;
use Komma\KMS\Core\Attributes\TextField;
use Komma\KMS\Users\Models\KmsUser;
use Komma\KMS\Users\Models\KmsUserRole;
use Tests\TestCase;
class ReadOnlyAttributeTest extends TestCase
{
/**
* @group ReadOnlyAttributeTest
* @test
*/
public function testSingleRoleReadOnly()
{
$adminUser = new KmsUser(['role' => KmsUserRole::Admin]);
$superAdminUser = new KmsUser(['role' => KmsUserRole::SuperAdmin]);
//Test single role
$textfield = new TextField();
$textfield->setLabelText('Test');
$textfield->setReadOnlyFor(false, KmsUserRole::Admin);
$this->assertFalse($textfield->getReadOnly('role', $adminUser));
$textfield->setReadOnlyFor(true, KmsUserRole::Admin);
$this->assertTrue($textfield->getReadOnly('role', $adminUser));
}
/**
* @group ReadOnlyAttributeTest
* @test
*/
public function testMultiRoleReadOnly()
{
$adminUser = new KmsUser(['role' => KmsUserRole::Admin]);
$superAdminUser = new KmsUser(['role' => KmsUserRole::SuperAdmin]);
//Test multi role
$textfield = new TextField();
$textfield->setLabelText('Test');
$textfield->setReadOnlyFor(false, [KmsUserRole::Admin, KmsUserRole::SuperAdmin]);
$this->assertFalse($textfield->getReadOnly('role', $adminUser));
$this->assertFalse($textfield->getReadOnly('role', $superAdminUser));
$textfield->setReadOnlyFor(true, [KmsUserRole::Admin, KmsUserRole::SuperAdmin]);
$this->assertTrue($textfield->getReadOnly('role', $adminUser));
$this->assertTrue($textfield->getReadOnly('role', $superAdminUser));
$textfield->setReadOnlyFor(false, [KmsUserRole::Admin]);
$this->assertFalse($textfield->getReadOnly('role', $adminUser));
$this->assertTrue($textfield->getReadOnly('role', $superAdminUser));
}
/**
* @group ReadOnlyAttributeTest
* @test
*/
public function testSimpleReadOnly()
{
$textfield = new TextField();
$textfield->setLabelText('Test');
$this->assertFalse($textfield->getReadOnly());
$textfield->setReadOnly(true);
$this->assertTrue($textfield->getReadOnly());
}
}