Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
EntityDataObjectTest.php
Go to the documentation of this file.
1 <?php
8 
12 
17 // @codingStandardsIgnoreStart
18 function function_exists($val)
19 {
20  return true;
21 }
22 
23 function msq($id = null)
24 {
25  return "msqUnique";
26 }
27 
28 function msqs($id = null)
29 {
30  return "msqsUnique";
31 }
32 // @codingStandardsIgnoreEnd
33 
38 {
43  public function setUp()
44  {
45  TestLoggingUtil::getInstance()->setMockLoggingUtil();
46  }
47 
48  public function testBasicGetters()
49  {
50  $data = ["datakey1" => "value1"];
51  $dataObject = new EntityDataObject("name", "type", $data, null, null, null);
52  // Perform Asserts
53  $this->assertEquals("name", $dataObject->getName());
54  $this->assertEquals("type", $dataObject->getType());
55  }
56 
57  public function testGetDataByName()
58  {
59  $data = ["datakey1" => "value1", "datakey2" => "value2", "datakey3" => "value3"];
60  $dataObject = new EntityDataObject("name", "type", $data, null, null, null);
61  // Perform Asserts
62  $this->assertNull($dataObject->getDataByName("someInvalidName", 0));
63  $this->assertEquals("value1", $dataObject->getDataByName("dataKey1", 0));
64  $this->assertEquals("value2", $dataObject->getDataByName("dataKey2", 0));
65  $this->assertEquals("value3", $dataObject->getDataByName("dataKey3", 0));
66  }
67 
68  public function testGetUniqueDataByName()
69  {
70  $data = ["datakey1" => "value1", "datakey2" => "value2"];
71  $uniquenessKeys = ["datakey1" => "suffix", "datakey2" => "prefix"];
72  $dataObject = new EntityDataObject("name", "type", $data, null, $uniquenessKeys, null);
73  // Perform Asserts
74  $this->assertEquals("value1msqsUnique", $dataObject->getDataByName("datakey1", 1));
75  $this->assertEquals("msqsUniquevalue2", $dataObject->getDataByName("datakey2", 1));
76  $this->assertEquals("value1msqUnique", $dataObject->getDataByName("datakey1", 2));
77  $this->assertEquals("msqUniquevalue2", $dataObject->getDataByName("datakey2", 2));
78  $this->assertEquals('value1msqs("name")', $dataObject->getDataByName("datakey1", 3));
79  $this->assertEquals('msqs("name")value2', $dataObject->getDataByName("datakey2", 3));
80  $this->assertEquals('value1msq("name")', $dataObject->getDataByName("datakey1", 4));
81  $this->assertEquals('msq("name")value2', $dataObject->getDataByName("datakey2", 4));
82  }
83 
84  public function testVarGetter()
85  {
86  $data = ["datakey1" => "value1", "datakey2" => "value2", "datakey3" => "value3"];
87  $vars = ["someOtherEntity" => "id"];
88  $dataObject = new EntityDataObject("name", "type", $data, null, null, $vars);
89  // Perform Asserts
90  $this->assertEquals("id", $dataObject->getVarReference("someOtherEntity"));
91  }
92 
94  {
95  $this->expectException(TestFrameworkException::class);
96  $data = ["datakey1" => "value1", "datakey2" => "value2", "datakey3" => "value3"];
97  $dataObject = new EntityDataObject("name", "type", $data, null, null, null);
98  // Trigger Exception
99  $dataObject->getDataByName("dataKey1", 9999);
100  }
101 
103  {
104  $this->markTestIncomplete('Test fails, as msqMock is always declared in test runs.');
105  $this->expectException(TestFrameworkException::class);
106  $data = ["datakey1" => "value1", "datakey2" => "value2", "datakey3" => "value3"];
107  $uniquenessKeys = ["datakey1" => "suffix"];
108  $dataObject = new EntityDataObject("name", "type", $data, null, $uniquenessKeys, null);
109  // Trigger Exception
110  $dataObject->getDataByName("datakey1", 1);
111  }
112 
113  public function testGetLinkedEntities()
114  {
115  $data = ["datakey1" => "value1", "datakey2" => "value2", "datakey3" => "value3"];
116  $entities = ["linkedEntity1" => "linkedEntityType", "linkedEntity2" => "otherEntityType"];
117  $dataObject = new EntityDataObject("name", "type", $data, $entities, null, null);
118  // Perform Asserts
119  $this->assertEquals("linkedEntity1", $dataObject->getLinkedEntitiesOfType("linkedEntityType")[0]);
120  $this->assertEquals("linkedEntity2", $dataObject->getLinkedEntitiesOfType("otherEntityType")[0]);
121  }
122 
127  public static function tearDownAfterClass()
128  {
129  TestLoggingUtil::getInstance()->clearMockLoggingUtil();
130  }
131 }
$id
Definition: fieldset.phtml:14