source.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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\SourceCarrierLinkInterface;
  9. use Magento\InventoryApi\Api\Data\SourceInterface;
  10. use Magento\InventoryApi\Api\Data\SourceInterfaceFactory;
  11. use Magento\InventoryApi\Api\SourceRepositoryInterface;
  12. use Magento\TestFramework\Helper\Bootstrap;
  13. /** @var SourceInterfaceFactory $sourceFactory */
  14. $sourceFactory = Bootstrap::getObjectManager()->get(SourceInterfaceFactory::class);
  15. /** @var DataObjectHelper $dataObjectHelper */
  16. $dataObjectHelper = Bootstrap::getObjectManager()->get(DataObjectHelper::class);
  17. /** @var SourceRepositoryInterface $sourceRepository */
  18. $sourceRepository = Bootstrap::getObjectManager()->get(SourceRepositoryInterface::class);
  19. /** @var SourceInterface $source */
  20. $source = $sourceFactory->create();
  21. $dataObjectHelper->populateWithArray(
  22. $source,
  23. [
  24. SourceInterface::SOURCE_CODE => 'source-code-1',
  25. SourceInterface::NAME => 'source-name-1',
  26. SourceInterface::CONTACT_NAME => 'source-contact-name',
  27. SourceInterface::EMAIL => 'source-email',
  28. SourceInterface::ENABLED => true,
  29. SourceInterface::DESCRIPTION => 'source-description',
  30. SourceInterface::LATITUDE => 11.123456,
  31. SourceInterface::LONGITUDE => 12.123456,
  32. SourceInterface::COUNTRY_ID => 'US',
  33. SourceInterface::REGION_ID => 10,
  34. SourceInterface::CITY => 'source-city',
  35. SourceInterface::STREET => 'source-street',
  36. SourceInterface::POSTCODE => 'source-postcode',
  37. SourceInterface::PHONE => 'source-phone',
  38. SourceInterface::FAX => 'source-fax',
  39. SourceInterface::USE_DEFAULT_CARRIER_CONFIG => 0,
  40. SourceInterface::USE_DEFAULT_CARRIER_CONFIG => false,
  41. SourceInterface::CARRIER_LINKS => [],
  42. ],
  43. SourceInterface::class
  44. );
  45. $sourceRepository->save($source);