| <?php |
|
|
| require_once __DIR__.'/../../Base.php'; |
|
|
| use Kanboard\Core\Security\Role; |
| use Kanboard\Core\User\UserProperty; |
| use Kanboard\User\LdapUserProvider; |
|
|
| class UserPropertyTest extends Base |
| { |
| public function testGetProperties() |
| { |
| $user = new LdapUserProvider('ldapId', 'bob', 'Bob', '', Role::APP_USER, array()); |
|
|
| $expected = array( |
| 'username' => 'bob', |
| 'name' => 'Bob', |
| 'role' => Role::APP_USER, |
| 'is_ldap_user' => 1, |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::getProperties($user)); |
|
|
| $user = new LdapUserProvider('ldapId', 'bob', '', '', '', array()); |
|
|
| $expected = array( |
| 'username' => 'bob', |
| 'is_ldap_user' => 1, |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::getProperties($user)); |
| } |
|
|
| public function testFilterPropertiesDoNotOverrideExistingValue() |
| { |
| $profile = array( |
| 'id' => 123, |
| 'username' => 'bob', |
| 'name' => null, |
| 'email' => '', |
| 'other_column' => 'myvalue', |
| 'role' => Role::APP_ADMIN, |
| ); |
|
|
| $properties = array( |
| 'external_id' => '456', |
| 'username' => 'bobby', |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| 'role' => '', |
| ); |
|
|
| $expected = array( |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); |
|
|
| $profile = array( |
| 'id' => 123, |
| 'username' => 'bob', |
| 'name' => null, |
| 'email' => '', |
| 'other_column' => 'myvalue', |
| 'role' => Role::APP_ADMIN, |
| ); |
|
|
| $properties = array( |
| 'external_id' => '456', |
| 'username' => 'bobby', |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| 'role' => null, |
| ); |
|
|
| $expected = array( |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); |
| } |
|
|
| public function testFilterPropertiesOverrideExistingValueWhenNecessary() |
| { |
| $profile = array( |
| 'id' => 123, |
| 'username' => 'bob', |
| 'name' => null, |
| 'email' => '', |
| 'other_column' => 'myvalue', |
| 'role' => Role::APP_USER, |
| ); |
|
|
| $properties = array( |
| 'external_id' => '456', |
| 'username' => 'bobby', |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| 'role' => Role::APP_MANAGER, |
| ); |
|
|
| $expected = array( |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| 'role' => Role::APP_MANAGER, |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); |
| } |
|
|
| public function testFilterPropertiesDoNotOverrideSameValue() |
| { |
| $profile = array( |
| 'id' => 123, |
| 'username' => 'bob', |
| 'name' => 'Bobby', |
| 'email' => 'admin@example.org', |
| 'other_column' => 'myvalue', |
| 'role' => Role::APP_MANAGER, |
| ); |
|
|
| $properties = array( |
| 'external_id' => '456', |
| 'username' => 'bobby', |
| 'name' => 'Bobby', |
| 'email' => 'admin@localhost', |
| 'role' => Role::APP_MANAGER, |
| ); |
|
|
| $expected = array( |
| 'email' => 'admin@localhost', |
| ); |
|
|
| $this->assertEquals($expected, UserProperty::filterProperties($profile, $properties)); |
| } |
| } |
|
|