10
10
use Magento \Customer \Api \CustomerMetadataInterface ;
11
11
use Magento \Catalog \Setup \CategorySetup ;
12
12
use Magento \Eav \Test \Fixture \Attribute ;
13
+ use Magento \Sales \Setup \SalesSetup ;
13
14
use Magento \TestFramework \Fixture \DataFixture ;
14
15
use Magento \TestFramework \TestCase \GraphQlAbstract ;
15
16
@@ -61,8 +62,17 @@ class EntityTypeAttributesListTest extends GraphQlAbstract
61
62
],
62
63
'attribute4 '
63
64
)
65
+ ,
66
+ DataFixture(
67
+ Attribute::class,
68
+ [
69
+ 'entity_type_id ' => SalesSetup::CREDITMEMO_PRODUCT_ENTITY_TYPE_ID ,
70
+ 'attribute_code ' => 'attribute_5 '
71
+ ],
72
+ 'attribute5 '
73
+ )
64
74
]
65
- public function testAttributesList (): void
75
+ public function testEntityTypeAttributesList (): void
66
76
{
67
77
$ queryResult = $ this ->graphQlQuery (<<<QRY
68
78
{
@@ -82,18 +92,26 @@ public function testAttributesList(): void
82
92
$ this ->assertArrayHasKey ('items ' , $ queryResult ['entityTypeAttributesList ' ], 'Query result does not contain items ' );
83
93
$ this ->assertGreaterThanOrEqual (3 , count ($ queryResult ['entityTypeAttributesList ' ]['items ' ]));
84
94
85
- $ this ->assertNotEmpty (
86
- $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_0 ' ),
95
+ $ this ->assertEquals (
96
+ 'attribute_0 ' ,
97
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_0 ' )['attribute_code ' ],
87
98
self ::ATTRIBUTE_NOT_FOUND_ERROR
88
99
);
89
- $ this ->assertNotEmpty (
90
- $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_1 ' ),
100
+
101
+ $ this ->assertEquals (
102
+ 'attribute_1 ' ,
103
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_1 ' )['attribute_code ' ],
91
104
self ::ATTRIBUTE_NOT_FOUND_ERROR
92
105
);
93
- $ this ->assertNotEmpty (
94
- $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_2 ' ),
106
+ $ this ->assertEquals (
107
+ 'attribute_2 ' ,
108
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_2 ' )['attribute_code ' ],
95
109
self ::ATTRIBUTE_NOT_FOUND_ERROR
96
110
);
111
+ $ this ->assertEquals (
112
+ [],
113
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_5 ' )
114
+ );
97
115
98
116
$ queryResult = $ this ->graphQlQuery (<<<QRY
99
117
{
@@ -112,14 +130,20 @@ public function testAttributesList(): void
112
130
$ this ->assertArrayHasKey ('items ' , $ queryResult ['entityTypeAttributesList ' ], 'Query result does not contain items ' );
113
131
$ this ->assertGreaterThanOrEqual (2 , count ($ queryResult ['entityTypeAttributesList ' ]['items ' ]));
114
132
115
- $ this ->assertNotEmpty (
116
- $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_3 ' ),
133
+ $ this ->assertEquals (
134
+ 'attribute_3 ' ,
135
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_3 ' )['attribute_code ' ],
117
136
self ::ATTRIBUTE_NOT_FOUND_ERROR
118
137
);
119
- $ this ->assertNotEmpty (
120
- $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_4 ' ),
138
+ $ this ->assertEquals (
139
+ 'attribute_4 ' ,
140
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_4 ' )['attribute_code ' ],
121
141
self ::ATTRIBUTE_NOT_FOUND_ERROR
122
142
);
143
+ $ this ->assertEquals (
144
+ [],
145
+ $ this ->getAttributeByCode ($ queryResult ['entityTypeAttributesList ' ]['items ' ], 'attribute_5 ' )
146
+ );
123
147
}
124
148
125
149
/**
@@ -131,8 +155,9 @@ public function testAttributesList(): void
131
155
*/
132
156
private function getAttributeByCode ($ items , $ attribute_code )
133
157
{
134
- return array_filter ($ items , function ($ item ) use ($ attribute_code ) {
158
+ $ attribute = array_filter ($ items , function ($ item ) use ($ attribute_code ) {
135
159
return $ item ['attribute_code ' ] == $ attribute_code ;
136
160
});
161
+ return $ attribute [array_key_first ($ attribute )] ?? [];
137
162
}
138
163
}
0 commit comments