X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Flanguage%2Ftests%2Fsrc%2FUnit%2FContentLanguageSettingsUnitTest.php;h=c3955df56a9e924ce78d1fece9037dfaa662ec0c;hb=refs%2Fheads%2Fd864;hp=06820d063180e158b33f3a24d7309f78c847b3ed;hpb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;p=yaffs-website diff --git a/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php b/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php index 06820d063..c3955df56 100644 --- a/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php +++ b/web/core/modules/language/tests/src/Unit/ContentLanguageSettingsUnitTest.php @@ -4,6 +4,9 @@ namespace Drupal\Tests\language\Unit; use Drupal\Core\Language\LanguageInterface; use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\Core\Entity\EntityManager; +use Drupal\Core\Entity\EntityTypeManagerInterface; +use Drupal\Core\Entity\EntityTypeRepositoryInterface; use Drupal\language\Entity\ContentLanguageSettings; use Drupal\Tests\UnitTestCase; @@ -27,6 +30,13 @@ class ContentLanguageSettingsUnitTest extends UnitTestCase { */ protected $entityManager; + /** + * The entity type manager used for testing. + * + * @var \Drupal\Core\Entity\EntityTypeManagerInterface|\PHPUnit_Framework_MockObject_MockObject + */ + protected $entityTypeManager; + /** * The ID of the type of the entity under test. * @@ -62,7 +72,8 @@ class ContentLanguageSettingsUnitTest extends UnitTestCase { $this->entityTypeId = $this->randomMachineName(); $this->entityType = $this->getMock('\Drupal\Core\Entity\EntityTypeInterface'); - $this->entityManager = $this->getMock('\Drupal\Core\Entity\EntityManagerInterface'); + $this->entityManager = new EntityManager(); + $this->entityTypeManager = $this->getMock(EntityTypeManagerInterface::class); $this->uuid = $this->getMock('\Drupal\Component\Uuid\UuidInterface'); @@ -72,9 +83,13 @@ class ContentLanguageSettingsUnitTest extends UnitTestCase { $container = new ContainerBuilder(); $container->set('entity.manager', $this->entityManager); + $container->set('entity_type.manager', $this->entityTypeManager); $container->set('uuid', $this->uuid); $container->set('config.typed', $this->typedConfigManager); $container->set('config.storage', $this->configEntityStorageInterface); + // Inject the container into entity.manager so it can defer to other entity + // services. + $this->entityManager->setContainer($container); \Drupal::setContainer($container); } @@ -88,7 +103,7 @@ class ContentLanguageSettingsUnitTest extends UnitTestCase { ->method('getBundleConfigDependency') ->will($this->returnValue(['type' => 'config', 'name' => 'test.test_entity_type.id'])); - $this->entityManager->expects($this->any()) + $this->entityTypeManager->expects($this->any()) ->method('getDefinition') ->with('test_entity_type') ->will($this->returnValue($target_entity_type)); @@ -254,16 +269,20 @@ class ContentLanguageSettingsUnitTest extends UnitTestCase { ->method('create') ->will($this->returnValue($nullConfig)); - $this->entityManager + $this->entityTypeManager ->expects($this->any()) ->method('getStorage') ->with('language_content_settings') ->will($this->returnValue($this->configEntityStorageInterface)); - $this->entityManager->expects($this->any()) + + $entity_type_repository = $this->getMockForAbstractClass(EntityTypeRepositoryInterface::class); + $entity_type_repository->expects($this->any()) ->method('getEntityTypeFromClass') - ->with('Drupal\language\Entity\ContentLanguageSettings') + ->with(ContentLanguageSettings::class) ->willReturn('language_content_settings'); + \Drupal::getContainer()->set('entity_type.repository', $entity_type_repository); + $config = ContentLanguageSettings::loadByEntityTypeBundle($type, $bundle); $this->assertSame($expected_langcode, $config->getDefaultLangcode());