sources.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. use Magento\Framework\Api\DataObjectHelper;
  8. use Magento\InventoryApi\Api\Data\SourceInterface;
  9. use Magento\InventoryApi\Api\Data\SourceInterfaceFactory;
  10. use Magento\InventoryApi\Api\SourceRepositoryInterface;
  11. use Magento\TestFramework\Helper\Bootstrap;
  12. /** @var SourceInterfaceFactory $sourceFactory */
  13. $sourceFactory = Bootstrap::getObjectManager()->get(SourceInterfaceFactory::class);
  14. /** @var DataObjectHelper $dataObjectHelper */
  15. $dataObjectHelper = Bootstrap::getObjectManager()->get(DataObjectHelper::class);
  16. /** @var SourceRepositoryInterface $sourceRepository */
  17. $sourceRepository = Bootstrap::getObjectManager()->get(SourceRepositoryInterface::class);
  18. $sourcesData = [
  19. [
  20. // define only required and needed for tests fields
  21. SourceInterface::SOURCE_CODE => 'eu-1',
  22. SourceInterface::NAME => 'EU-source-1',
  23. SourceInterface::ENABLED => true,
  24. SourceInterface::POSTCODE => 'postcode',
  25. SourceInterface::COUNTRY_ID => 'FR',
  26. ],
  27. [
  28. SourceInterface::SOURCE_CODE => 'eu-2',
  29. SourceInterface::NAME => 'EU-source-2',
  30. SourceInterface::ENABLED => true,
  31. SourceInterface::POSTCODE => 'postcode',
  32. SourceInterface::COUNTRY_ID => 'FR',
  33. ],
  34. [
  35. SourceInterface::SOURCE_CODE => 'eu-3',
  36. SourceInterface::NAME => 'EU-source-3',
  37. SourceInterface::ENABLED => true,
  38. SourceInterface::POSTCODE => 'postcode',
  39. SourceInterface::COUNTRY_ID => 'DE',
  40. ],
  41. [
  42. SourceInterface::SOURCE_CODE => 'eu-disabled',
  43. SourceInterface::NAME => 'EU-source-disabled',
  44. SourceInterface::ENABLED => false,
  45. SourceInterface::POSTCODE => 'postcode',
  46. SourceInterface::COUNTRY_ID => 'DE',
  47. ],
  48. [
  49. SourceInterface::SOURCE_CODE => 'us-1',
  50. SourceInterface::NAME => 'US-source-1',
  51. SourceInterface::ENABLED => true,
  52. SourceInterface::POSTCODE => 'postcode',
  53. SourceInterface::COUNTRY_ID => 'US',
  54. ],
  55. ];
  56. foreach ($sourcesData as $sourceData) {
  57. /** @var SourceInterface $source */
  58. $source = $sourceFactory->create();
  59. $dataObjectHelper->populateWithArray($source, $sourceData, SourceInterface::class);
  60. $sourceRepository->save($source);
  61. }