AvatarKitGeneratorTest.php in Avatar Kit 8
File
tests/src/Functional/AvatarKitGeneratorTest.php
View source
<?php
namespace Drupal\Tests\avatars\Functional;
use Drupal\avatars\Entity\AvatarGenerator;
use Drupal\user\Entity\Role;
use Drupal\user\Entity\User;
use Drupal\user\RoleInterface;
use Drupal\avatars\AvatarPreviewInterface;
class AvatarKitGeneratorTest extends AvatarKitWebTestBase {
public function testGenerator() {
$this
->deleteAvatarGenerators();
$avatar_generator1 = $this
->createAvatarGenerator();
$user = $this
->createUser([
'administer avatars',
'avatars avatar_generator user ' . $avatar_generator1
->id(),
]);
$this
->drupalLogin($user);
$this
->setAvatarGeneratorPreferences([
$avatar_generator1
->id() => TRUE,
]);
$this
->drupalGet('admin/config/people/avatars');
$am = \Drupal::service('avatars.avatar_manager');
$avatar_preview = $am
->findValidAvatar($user);
$this
->assertTrue($avatar_preview instanceof AvatarPreviewInterface, 'Downloaded avatar');
}
public function testAnonymous() {
$generator_1 = AvatarGenerator::create([
'label' => $this
->randomMachineName(),
'id' => $this
->randomMachineName(),
'plugin' => 'avatars_test_static',
]);
$generator_1
->setStatus(TRUE)
->save();
Role::load(RoleInterface::ANONYMOUS_ID)
->grantPermission('avatars avatar_generator user ' . $generator_1
->id())
->save();
$anonymous = User::getAnonymousUser();
$am = \Drupal::service('avatars.avatar_manager');
$am
->syncAvatar($anonymous);
}
public function testFileIsAvatarPreview() {
$generator_2 = AvatarGenerator::create([
'label' => $this
->randomMachineName(),
'id' => $this
->randomMachineName(),
'plugin' => 'avatars_test_static',
]);
$generator_2
->setStatus(TRUE)
->save();
$user = $this
->createUser([
'avatars avatar_generator user ' . $generator_2
->id(),
]);
$am = \Drupal::service('avatars.avatar_manager');
$avatar_preview = $am
->findValidAvatar($user);
$file = $avatar_preview
->getAvatar();
$this
->assertEqual($avatar_preview
->id(), $am
->getAvatarPreviewByFile($file));
}
public function testFileNotAvatarPreview() {
$generator_2 = AvatarGenerator::create([
'label' => $this
->randomMachineName(),
'id' => $this
->randomMachineName(),
'plugin' => 'avatars_test_static',
]);
$generator_2
->setStatus(TRUE)
->save();
$user = $this
->createUser([
'avatars avatar_generator user ' . $generator_2
->id(),
]);
$am = \Drupal::service('avatars.avatar_manager');
$file = file_save_data($this
->randomString());
$this
->assertFalse($am
->getAvatarPreviewByFile($file));
}
}