CarrierConfigFilesTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * Test configuration of Online Shipping carriers
  4. *
  5. * Copyright © Magento, Inc. All rights reserved.
  6. * See COPYING.txt for license details.
  7. */
  8. namespace Magento\Test\Integrity\Modular;
  9. use Magento\Framework\Module\Dir;
  10. class CarrierConfigFilesTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Config\Model\Config\Structure\Reader
  14. */
  15. protected $_reader;
  16. protected function setUp()
  17. {
  18. $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver();
  19. $schemaFile = $urnResolver->getRealPath('urn:magento:module:Magento_Config:etc/system.xsd');
  20. $this->_reader = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  21. \Magento\Config\Model\Config\Structure\Reader::class,
  22. ['perFileSchema' => $schemaFile, 'isValidated' => true]
  23. );
  24. }
  25. /**
  26. * Tests that all source_models used in shipping are valid
  27. */
  28. public function testValidateShippingSourceModels()
  29. {
  30. $config = $this->_reader->read('adminhtml');
  31. $carriers = $config['config']['system']['sections']['carriers']['children'];
  32. foreach ($carriers as $carrier) {
  33. foreach ($carrier['children'] as $field) {
  34. if (isset($field['source_model'])) {
  35. $model = $field['source_model'];
  36. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create($model);
  37. }
  38. }
  39. }
  40. }
  41. }