123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Convert\Test\Unit;
- use \Magento\Framework\Convert\DataObject;
- class ObjectTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\Convert\DataObject
- */
- protected $model;
- protected function setUp()
- {
- $this->model = new DataObject();
- }
- public function testToOptionArray()
- {
- $mockFirst = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getId', 'getCode']);
- $mockFirst->expects($this->once())
- ->method('getId')
- ->will($this->returnValue(1));
- $mockFirst->expects($this->once())
- ->method('getCode')
- ->will($this->returnValue('code1'));
- $mockSecond = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getId', 'getCode']);
- $mockSecond->expects($this->once())
- ->method('getId')
- ->will($this->returnValue(2));
- $mockSecond->expects($this->once())
- ->method('getCode')
- ->will($this->returnValue('code2'));
- $callable = function ($item) {
- return $item->getCode();
- };
- $items = [
- $mockFirst,
- $mockSecond,
- ];
- $result = [
- ['value' => 1, 'label' => 'code1'],
- ['value' => 2, 'label' => 'code2'],
- ];
- $this->assertEquals($result, $this->model->toOptionArray($items, 'id', $callable));
- }
- public function testToOptionHash()
- {
- $mockFirst = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getSome', 'getId']);
- $mockFirst->expects($this->once())
- ->method('getId')
- ->will($this->returnValue(3));
- $mockFirst->expects($this->once())
- ->method('getSome')
- ->will($this->returnValue('code3'));
- $mockSecond = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getSome', 'getId']);
- $mockSecond->expects($this->once())
- ->method('getId')
- ->will($this->returnValue(4));
- $mockSecond->expects($this->once())
- ->method('getSome')
- ->will($this->returnValue('code4'));
- $callable = function ($item) {
- return $item->getId();
- };
- $items = [
- $mockFirst,
- $mockSecond,
- ];
- $result = [
- 3 => 'code3',
- 4 => 'code4',
- ];
- $this->assertEquals($result, $this->model->toOptionHash($items, $callable, 'some'));
- }
- public function testConvertDataToArray()
- {
- $object = new \stdClass();
- $object->a = [[1]];
- $mockFirst = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getData']);
- $mockSecond = $this->createPartialMock(\Magento\Framework\DataObject::class, ['getData']);
- $mockFirst->expects($this->any())
- ->method('getData')
- ->will($this->returnValue([
- 'id' => 1,
- 'o' => $mockSecond,
- ]));
- $mockSecond->expects($this->any())
- ->method('getData')
- ->will($this->returnValue([
- 'id' => 2,
- 'o' => $mockFirst,
- ]));
- $data = [
- 'object' => $mockFirst,
- 'stdClass' => $object,
- 'test' => 'test',
- ];
- $result = [
- 'object' => [
- 'id' => 1,
- 'o' => [
- 'id' => 2,
- 'o' => '*** CYCLE DETECTED ***',
- ],
- ],
- 'stdClass' => [
- 'a' => [
- [1],
- ],
- ],
- 'test' => 'test',
- ];
- $this->assertEquals($result, $this->model->convertDataToArray($data));
- }
- }
|