| | <?php |
| |
|
| | use Kanboard\Core\Security\Role; |
| | use Kanboard\Event\UserProfileSyncEvent; |
| | use Kanboard\Model\UserModel; |
| | use Kanboard\Subscriber\LdapUserPhotoSubscriber; |
| | use Kanboard\User\DatabaseUserProvider; |
| | use Kanboard\User\LdapUserProvider; |
| |
|
| | require_once __DIR__.'/../Base.php'; |
| |
|
| | class LdapUserPhotoSubscriberTest extends Base |
| | { |
| | public function testWhenTheProviderIsNotLdap() |
| | { |
| | $userProvider = new DatabaseUserProvider(array()); |
| | $subscriber = new LdapUserPhotoSubscriber($this->container); |
| | $userModel = new UserModel($this->container); |
| |
|
| | $userModel->update(array('id' => 1, 'avatar_path' => 'my avatar')); |
| | $user = $userModel->getById(1); |
| |
|
| | $subscriber->syncUserPhoto(new UserProfileSyncEvent($user, $userProvider)); |
| |
|
| | $user = $userModel->getById(1); |
| | $this->assertEquals('my avatar', $user['avatar_path']); |
| | } |
| |
|
| | public function testWhenTheUserHaveLdapPhoto() |
| | { |
| | $userProvider = new LdapUserProvider('dn', 'admin', 'Admin', 'admin@localhost', Role::APP_ADMIN, array(), 'my photo'); |
| | $subscriber = new LdapUserPhotoSubscriber($this->container); |
| | $userModel = new UserModel($this->container); |
| | $user = $userModel->getById(1); |
| |
|
| | $this->container['objectStorage'] |
| | ->expects($this->once()) |
| | ->method('put') |
| | ->with($this->anything(), 'my photo'); |
| |
|
| |
|
| | $subscriber->syncUserPhoto(new UserProfileSyncEvent($user, $userProvider)); |
| |
|
| | $user = $userModel->getById(1); |
| | $this->assertStringStartsWith('avatars', $user['avatar_path']); |
| | } |
| |
|
| | public function testWhenTheUserDoNotHaveLdapPhoto() |
| | { |
| | $userProvider = new LdapUserProvider('dn', 'admin', 'Admin', 'admin@localhost', Role::APP_ADMIN, array()); |
| | $subscriber = new LdapUserPhotoSubscriber($this->container); |
| | $userModel = new UserModel($this->container); |
| | $user = $userModel->getById(1); |
| |
|
| | $this->container['objectStorage'] |
| | ->expects($this->never()) |
| | ->method('put'); |
| |
|
| | $subscriber->syncUserPhoto(new UserProfileSyncEvent($user, $userProvider)); |
| |
|
| | $user = $userModel->getById(1); |
| | $this->assertEmpty($user['avatar_path']); |
| | } |
| |
|
| | public function testWhenTheUserAlreadyHaveAvatar() |
| | { |
| | $userProvider = new LdapUserProvider('dn', 'admin', 'Admin', 'admin@localhost', Role::APP_ADMIN, array(), 'my photo'); |
| | $subscriber = new LdapUserPhotoSubscriber($this->container); |
| | $userModel = new UserModel($this->container); |
| |
|
| | $userModel->update(array('id' => 1, 'avatar_path' => 'my avatar')); |
| | $user = $userModel->getById(1); |
| |
|
| | $this->container['objectStorage'] |
| | ->expects($this->never()) |
| | ->method('put'); |
| |
|
| | $subscriber->syncUserPhoto(new UserProfileSyncEvent($user, $userProvider)); |
| |
|
| | $user = $userModel->getById(1); |
| | $this->assertEquals('my avatar', $user['avatar_path']); |
| | } |
| | } |
| |
|