magento2-docker/dev/tests/api-functional/_files/Magento/TestModuleMSC/Model/AllSoapAndRest.php

106 lines
3.0 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\TestModuleMSC\Model;
use Magento\TestModuleMSC\Api\Data\CustomAttributeDataObjectInterfaceFactory;
use Magento\TestModuleMSC\Api\Data\ItemInterfaceFactory;
class AllSoapAndRest implements \Magento\TestModuleMSC\Api\AllSoapAndRestInterface
{
/**
* @var ItemInterfaceFactory
*/
protected $itemDataFactory;
/**
* @var CustomAttributeDataObjectInterfaceFactory
*/
protected $customAttributeDataObjectDataFactory;
/**
* @param ItemInterfaceFactory $itemDataFactory
* @param CustomAttributeDataObjectInterfaceFactory $customAttributeNestedDataObjectFactory
*/
public function __construct(
ItemInterfaceFactory $itemDataFactory,
CustomAttributeDataObjectInterfaceFactory $customAttributeNestedDataObjectFactory
) {
$this->itemDataFactory = $itemDataFactory;
$this->customAttributeDataObjectDataFactory = $customAttributeNestedDataObjectFactory;
}
/**
* {@inheritdoc}
*/
public function item($itemId)
{
return $this->itemDataFactory->create()->setItemId($itemId)->setName('testProduct1');
}
/**
* {@inheritdoc}
*/
public function items()
{
$result1 = $this->itemDataFactory->create()->setItemId(1)->setName('testProduct1');
$result2 = $this->itemDataFactory->create()->setItemId(2)->setName('testProduct2');
return [$result1, $result2];
}
/**
* {@inheritdoc}
*/
public function create($name)
{
return $this->itemDataFactory->create()->setItemId(rand())->setName($name);
}
/**
* {@inheritdoc}
*/
public function update(\Magento\TestModuleMSC\Api\Data\ItemInterface $entityItem)
{
return $this->itemDataFactory->create()->setItemId($entityItem->getItemId())
->setName('Updated' . $entityItem->getName());
}
public function testOptionalParam($name = null)
{
if ($name === null) {
return $this->itemDataFactory->create()->setItemId(3)->setName('No Name');
} else {
return $this->itemDataFactory->create()->setItemId(3)->setName($name);
}
}
/**
* {@inheritdoc}
*/
public function itemAnyType(\Magento\TestModuleMSC\Api\Data\ItemInterface $entityItem)
{
return $entityItem;
}
/**
* {@inheritdoc}
*/
public function getPreconfiguredItem()
{
$customAttributeDataObject = $this->customAttributeDataObjectDataFactory->create()
->setName('nameValue')
->setCustomAttribute('custom_attribute_int', 1);
$item = $this->itemDataFactory->create()
->setItemId(1)
->setName('testProductAnyType')
->setCustomAttribute('custom_attribute_data_object', $customAttributeDataObject)
->setCustomAttribute('custom_attribute_string', 'someStringValue');
return $item;
}
}