本文整理匯總了PHP中Magento\TestFramework\ObjectManager類的典型用法代碼示例。如果您正苦於以下問題:PHP ObjectManager類的具體用法?PHP ObjectManager怎麽用?PHP ObjectManager使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了ObjectManager類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: testSave
/**
* @magentoApiDataFixture Magento/GiftMessage/_files/quote_with_item_message.php
*/
public function testSave()
{
// sales/gift_options/allow_items must be set to 1 in system configuration
// @todo remove next statement when \Magento\TestFramework\TestCase\WebapiAbstract::_updateAppConfig is fixed
$this->markTestIncomplete('This test relies on system configuration state.');
/** @var \Magento\Quote\Model\Quote $quote */
$quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
$quote->load('test_order_item_with_message', 'reserved_order_id');
$product = $this->objectManager->create('Magento\\Catalog\\Model\\Product');
$product->load($product->getIdBySku('simple_with_message'));
$itemId = $quote->getItemByProduct($product)->getId();
$cartId = $quote->getId();
/** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */
$quoteIdMask = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\\Quote\\Model\\QuoteIdMaskFactory')->create();
$quoteIdMask->load($cartId, 'quote_id');
//Use masked cart Id
$cartId = $quoteIdMask->getMaskedId();
$serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . $cartId . '/gift-message/' . $itemId, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'Save']];
$requestData = ['cartId' => $cartId, 'itemId' => $itemId, 'giftMessage' => ['recipient' => 'John Doe', 'sender' => 'Jane Roe', 'message' => 'Gift Message Text New']];
$this->assertTrue($this->_webApiCall($serviceInfo, $requestData));
// $quote->load('test_order_item_with_message', 'reserved_order_id');
$messageId = $quote->getItemByProduct($product)->getGiftMessageId();
/** @var \Magento\GiftMessage\Model\Message $message */
$message = $this->objectManager->create('Magento\\GiftMessage\\Model\\Message')->load($messageId);
$this->assertEquals('John Doe', $message->getRecipient());
$this->assertEquals('Jane Roe', $message->getSender());
$this->assertEquals('Gift Message Text New', $message->getMessage());
}
示例2: setUp
protected function setUp()
{
/** @var $objectManager \Magento\TestFramework\ObjectManager */
$this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$this->_model = $this->_objectManager->create('Magento\\Tax\\Model\\Calculation');
$this->customerRepository = $this->_objectManager->create('Magento\\Customer\\Api\\CustomerRepositoryInterface');
$this->addressRepository = $this->_objectManager->create('Magento\\Customer\\Api\\AddressRepositoryInterface');
$this->groupRepository = $this->_objectManager->create('Magento\\Customer\\Api\\GroupRepositoryInterface');
}
示例3: setUp
protected function setUp()
{
$this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$this->_model = $this->_objectManager->get('Magento\\Framework\\Session\\SaveHandler\\DbTable');
/** @var $resource \Magento\Framework\App\Resource */
$resource = $this->_objectManager->get('Magento\\Framework\\App\\Resource');
$this->_connection = $resource->getConnection('core_write');
$this->_sessionTable = $resource->getTableName('session');
// session stores serialized objects with protected properties
// we need to test this case to ensure that DB adapter successfully processes "\0" symbols in serialized data
foreach ($this->_sourceData as $key => $data) {
$this->_sessionData[$key] = new \Magento\Framework\Object($data);
}
}
示例4: setUp
protected function setUp()
{
/** @var $storeManager \Magento\Framework\StoreManagerInterface */
$storeManager = self::$_objectManager->get('Magento\\Framework\\StoreManagerInterface');
$this->_store = $storeManager->getStore();
$this->_model = self::$_objectManager->create('Magento\\Catalog\\Model\\Category');
}
示例5: testSetGetProduct
/**
* @magentoDataFixture Magento/Catalog/_files/product_simple.php
*/
public function testSetGetProduct()
{
$this->assertSame($this->product, $this->block->getProduct());
$product = $this->objectManager->create('Magento\\Catalog\\Model\\Product');
$this->block->setProduct($product);
$this->assertSame($product, $this->block->getProduct());
}
示例6: testSetAddress
/**
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_address_saved.php
*/
public function testSetAddress()
{
/** @var \Magento\Quote\Model\Quote $quote */
$quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
$quote->load('test_order_1', 'reserved_order_id');
$cartId = $this->getQuoteMaskedId($quote->getId());
$serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . $cartId . '/billing-address', 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_POST], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'Assign']];
$addressData = ['firstname' => 'John', 'lastname' => 'Smith', 'email' => '', 'company' => 'Magento Commerce Inc.', 'street' => ['Typical Street', 'Tiny House 18'], 'city' => 'Big City', 'region_id' => 12, 'region' => 'California', 'region_code' => 'CA', 'postcode' => '0985432', 'country_id' => 'US', 'telephone' => '88776655', 'fax' => '44332255'];
$requestData = ["cartId" => $cartId, 'address' => $addressData];
$addressId = $this->_webApiCall($serviceInfo, $requestData);
//reset $quote to reload data
$quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
$quote->load('test_order_1', 'reserved_order_id');
$address = $quote->getBillingAddress();
$address->getRegionCode();
$savedData = $address->getData();
$this->assertEquals($addressId, $savedData['address_id']);
//custom checks for street, region and address_type
foreach ($addressData['street'] as $streetLine) {
$this->assertContains($streetLine, $quote->getBillingAddress()->getStreet());
}
unset($addressData['street']);
unset($addressData['email']);
$this->assertEquals('billing', $savedData['address_type']);
//check the rest of fields
foreach ($addressData as $key => $value) {
$this->assertEquals($value, $savedData[$key]);
}
}
示例7: getCart
/**
* Retrieve quote by given reserved order ID
*
* @param string $reservedOrderId
* @return \Magento\Quote\Model\Quote
* @throws \InvalidArgumentException
*/
protected function getCart($reservedOrderId)
{
/** @var $cart \Magento\Quote\Model\Quote */
$cart = $this->objectManager->get('Magento\\Quote\\Model\\Quote');
$cart->load($reservedOrderId, 'reserved_order_id');
if (!$cart->getId()) {
throw new \InvalidArgumentException('There is no quote with provided reserved order ID.');
}
return $cart;
}
示例8: testExecute
/**
* @covers \Magento\Catalog\Model\Product\Gallery\ReadHandler::execute
*/
public function testExecute()
{
/** @var \Magento\Catalog\Model\Product $product */
$product = $this->objectManager->create('Magento\\Catalog\\Model\\Product');
$product->setId(1);
$this->readHandler->execute('Magento\\Catalog\\Api\\Data\\ProductInterface', $product);
$data = $product->getData();
$this->assertArrayHasKey('media_gallery', $data);
$this->assertArrayHasKey('images', $data['media_gallery']);
$this->assertEquals('Image Alt Text', $data['media_gallery']['images'][0]['label']);
}
示例9: getOptions
/**
* Receive product options with values
*
* @return array
*/
protected function getOptions()
{
/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */
$productRepository = $this->objectManager->create('Magento\\Catalog\\Api\\ProductRepositoryInterface');
$product = $productRepository->get(self::SIMPLE_PRODUCT_SKU);
$options = [];
/** @var ProductCustomOptionInterface $option */
foreach ($product->getOptions() as $option) {
$options[] = ['option_id' => $option->getId(), 'option_value' => $this->getOptionRequestValue($option)];
}
return $options;
}
示例10: testCheckClassCanBeDeletedProductClassUsedInTaxRule
/**
* @magentoAppIsolation enabled
* @magentoDataFixture Magento/Tax/_files/tax_classes.php
*/
public function testCheckClassCanBeDeletedProductClassUsedInTaxRule()
{
/** @var $registry \Magento\Framework\Registry */
$registry = $this->_objectManager->get('Magento\\Framework\\Registry');
/** @var $taxRule \Magento\Tax\Model\Calculation\Rule */
$taxRule = $registry->registry('_fixture/Magento_Tax_Model_Calculation_Rule');
$productClasses = $taxRule->getProductTaxClasses();
/** @var $model \Magento\Tax\Model\ClassModel */
$model = $this->_objectManager->create('Magento\\Tax\\Model\\ClassModel')->load($productClasses[0]);
$this->setExpectedException('Magento\\Framework\\Exception\\CouldNotDeleteException', 'You cannot delete this tax class because it is used in' . ' Tax Rules. You have to delete the rules it is used in first.');
$model->delete();
}
示例11: testGet
/**
* @magentoApiDataFixture Magento/Sales/_files/order.php
*/
public function testGet()
{
/** @var \Magento\Sales\Model\Order $order */
$order = $this->objectManager->create('Magento\\Sales\\Model\\Order');
$order->loadByIncrementId(self::ORDER_INCREMENT_ID);
/** @var \Magento\Sales\Model\Order\Item $orderItem */
$orderItem = current($order->getItems());
$serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . '/' . $orderItem->getId(), 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'get']];
$response = $this->_webApiCall($serviceInfo, ['id' => $orderItem->getId()]);
$this->assertTrue(is_array($response));
$this->assertOrderItem($orderItem, $response);
}
示例12: testGetTotals
/**
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_shipping_method.php
*/
public function testGetTotals()
{
/** @var \Magento\Quote\Model\Quote $quote */
$quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
$quote->load('test_order_1', 'reserved_order_id');
$cartId = $this->getQuoteMaskedId($quote->getId());
/** @var \Magento\Quote\Model\Quote\Address $shippingAddress */
$shippingAddress = $quote->getShippingAddress();
$data = [Totals::KEY_BASE_GRAND_TOTAL => $quote->getBaseGrandTotal(), Totals::KEY_GRAND_TOTAL => $quote->getGrandTotal(), Totals::KEY_BASE_SUBTOTAL => $quote->getBaseSubtotal(), Totals::KEY_SUBTOTAL => $quote->getSubtotal(), Totals::KEY_BASE_SUBTOTAL_WITH_DISCOUNT => $quote->getBaseSubtotalWithDiscount(), Totals::KEY_SUBTOTAL_WITH_DISCOUNT => $quote->getSubtotalWithDiscount(), Totals::KEY_DISCOUNT_AMOUNT => $shippingAddress->getDiscountAmount(), Totals::KEY_BASE_DISCOUNT_AMOUNT => $shippingAddress->getBaseDiscountAmount(), Totals::KEY_SHIPPING_AMOUNT => $shippingAddress->getShippingAmount(), Totals::KEY_BASE_SHIPPING_AMOUNT => $shippingAddress->getBaseShippingAmount(), Totals::KEY_SHIPPING_DISCOUNT_AMOUNT => $shippingAddress->getShippingDiscountAmount(), Totals::KEY_BASE_SHIPPING_DISCOUNT_AMOUNT => $shippingAddress->getBaseShippingDiscountAmount(), Totals::KEY_TAX_AMOUNT => $shippingAddress->getTaxAmount(), Totals::KEY_BASE_TAX_AMOUNT => $shippingAddress->getBaseTaxAmount(), Totals::KEY_SHIPPING_TAX_AMOUNT => $shippingAddress->getShippingTaxAmount(), Totals::KEY_BASE_SHIPPING_TAX_AMOUNT => $shippingAddress->getBaseShippingTaxAmount(), Totals::KEY_SUBTOTAL_INCL_TAX => $shippingAddress->getSubtotalInclTax(), Totals::KEY_BASE_SUBTOTAL_INCL_TAX => $shippingAddress->getBaseSubtotalTotalInclTax(), Totals::KEY_SHIPPING_INCL_TAX => $shippingAddress->getShippingInclTax(), Totals::KEY_BASE_SHIPPING_INCL_TAX => $shippingAddress->getBaseShippingInclTax(), Totals::KEY_BASE_CURRENCY_CODE => $quote->getBaseCurrencyCode(), Totals::KEY_QUOTE_CURRENCY_CODE => $quote->getQuoteCurrencyCode(), Totals::KEY_ITEMS => [$this->getQuoteItemTotalsData($quote)]];
$requestData = ['cartId' => $cartId];
$data = $this->formatTotalsData($data);
$this->assertEquals($data, $this->_webApiCall($this->getServiceInfoForTotalsService($cartId), $requestData));
}
示例13: getCustomerToken
/**
* Get customer ID token
*
* @return string
*/
protected function getCustomerToken()
{
/** @var \Magento\Integration\Api\CustomerTokenServiceInterface $customerTokenService */
$customerTokenService = $this->objectManager->create('Magento\\Integration\\Api\\CustomerTokenServiceInterface');
$token = $customerTokenService->createCustomerAccessToken('customer@example.com', 'password');
return $token;
}
示例14: testImportData
/**
* @param string $behavior
* @param string $sourceFile
* @param array $dataBefore
* @param array $dataAfter
* @param array $errors
*
* @magentoDataFixture Magento/Customer/_files/import_export/customers_for_address_import.php
* @magentoAppIsolation enabled
*
* @dataProvider importDataDataProvider
*/
public function testImportData($behavior, $sourceFile, array $dataBefore, array $dataAfter, array $errors = [])
{
\Magento\TestFramework\Helper\Bootstrap::getInstance()->loadArea(\Magento\Framework\App\Area::AREA_FRONTEND);
// set entity adapter parameters
$this->_entityAdapter->setParameters(['behavior' => $behavior]);
/** @var \Magento\Framework\Filesystem $filesystem */
$filesystem = $this->_objectManager->create('Magento\\Framework\\Filesystem');
$rootDirectory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
$this->_entityAdapter->getErrorAggregator()->initValidationStrategy(ProcessingErrorAggregatorInterface::VALIDATION_STRATEGY_STOP_ON_ERROR, 10);
// set fixture CSV file
$result = $this->_entityAdapter->setSource(\Magento\ImportExport\Model\Import\Adapter::findAdapterFor($sourceFile, $rootDirectory))->validateData()->hasToBeTerminated();
if ($errors) {
$this->assertTrue($result);
} else {
$this->assertFalse($result);
}
// assert validation errors
// can't use error codes because entity adapter gathers only error messages from aggregated adapters
$actualErrors = array_values($this->_entityAdapter->getErrorAggregator()->getRowsGroupedByErrorCode());
$this->assertEquals($errors, $actualErrors);
// assert data before import
$this->_assertCustomerData($dataBefore);
// import data
$this->_entityAdapter->importData();
// assert data after import
$this->_assertCustomerData($dataAfter);
}
示例15: testGet
/**
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_payment_saved.php
*/
public function testGet()
{
/** @var \Magento\Quote\Model\Quote $quote */
$quote = $this->objectManager->create('Magento\\Quote\\Model\\Quote');
$quote->load('test_order_1_with_payment', 'reserved_order_id');
$cartId = $quote->getId();
$serviceInfo = ['rest' => ['resourcePath' => self::RESOURCE_PATH . $cartId . '/selected-payment-methods', 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET], 'soap' => ['service' => self::SERVICE_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_NAME . 'get']];
$requestData = ["cartId" => $cartId];
$requestResponse = $this->_webApiCall($serviceInfo, $requestData);
$this->assertArrayHasKey('method', $requestResponse);
$this->assertArrayHasKey('po_number', $requestResponse);
$this->assertArrayHasKey('cc_owner', $requestResponse);
$this->assertArrayHasKey('cc_type', $requestResponse);
$this->assertArrayHasKey('cc_exp_year', $requestResponse);
$this->assertArrayHasKey('cc_exp_month', $requestResponse);
$this->assertArrayHasKey('additional_data', $requestResponse);
$this->assertNotNull($requestResponse['method']);
$this->assertNotNull($requestResponse['po_number']);
$this->assertNotNull($requestResponse['cc_owner']);
$this->assertNotNull($requestResponse['cc_type']);
$this->assertNotNull($requestResponse['cc_exp_year']);
$this->assertNotNull($requestResponse['cc_exp_month']);
$this->assertNotNull($requestResponse['additional_data']);
$this->assertEquals('checkmo', $requestResponse['method']);
}