Skip to content

Commit a91e11a

Browse files
committed
MQE-1957: Entity Deprecation Reference - Static Check
1 parent 8b59708 commit a91e11a

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

src/Magento/FunctionalTestingFramework/StaticCheck/DeprecatedEntityUsageCheck.php

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
use Magento\FunctionalTestingFramework\Exceptions\XmlException;
1111
use Magento\FunctionalTestingFramework\Page\Objects\SectionObject;
1212
use Magento\FunctionalTestingFramework\Test\Objects\ActionObject;
13-
use Symfony\Component\Console\Exception\InvalidArgumentException;
13+
use Magento\FunctionalTestingFramework\Page\Objects\ElementObject;
14+
use Magento\FunctionalTestingFramework\Test\Objects\ActionGroupObject;
15+
use Magento\FunctionalTestingFramework\Page\Objects\PageObject;
16+
use Magento\FunctionalTestingFramework\Test\Objects\TestObject;
1417
use Symfony\Component\Console\Input\InputInterface;
1518
use Symfony\Component\Finder\Finder;
1619
use Exception;
@@ -26,6 +29,7 @@
2629
/**
2730
* Class DeprecatedEntityUsageCheck
2831
* @package Magento\FunctionalTestingFramework\StaticCheck
32+
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
2933
*/
3034
class DeprecatedEntityUsageCheck implements StaticCheckInterface
3135
{
@@ -68,7 +72,7 @@ class DeprecatedEntityUsageCheck implements StaticCheckInterface
6872
*
6973
* @param InputInterface $input
7074
* @return string
71-
* @throws Exception;
75+
* @throws Exception
7276
*/
7377
public function execute(InputInterface $input)
7478
{
@@ -79,7 +83,7 @@ public function execute(InputInterface $input)
7983
$path = $input->getOption('path');
8084
if ($path) {
8185
if (!realpath($path)) {
82-
throw new InvalidArgumentException("Invalid --path option: " . $path);
86+
return "Invalid --path option: " . $path;
8387
}
8488
MftfApplicationConfig::create(
8589
true,
@@ -251,6 +255,7 @@ private function findReferenceErrorsInActionFiles($files)
251255
*
252256
* @param Finder $files
253257
* @return array
258+
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
254259
*/
255260
private function findReferenceErrorsInDataFiles($files)
256261
{
@@ -329,7 +334,7 @@ private function twoDimensionArrayUnique($inArray)
329334
* Return attribute value for each node in DOMNodeList as an array
330335
*
331336
* @param DOMNodeList $nodes
332-
* @param string $attributeName
337+
* @param string $attributeName
333338
* @return array
334339
*/
335340
private function getAttributesFromDOMNodeList($nodes, $attributeName)
@@ -411,6 +416,8 @@ private function getMetadataFromData($references, $type)
411416
*
412417
* @param array $references
413418
* @return array
419+
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
420+
* @SuppressWarnings(PHPMD.NPathComplexity)
414421
*/
415422
private function findViolatingMetadataReferences($references)
416423
{
@@ -526,9 +533,9 @@ private function findViolatingReferences($references)
526533
if ($entity->getDeprecated()) {
527534
$classType = get_class($entity);
528535
$name = $entity->getName();
529-
if ($classType === 'Magento\FunctionalTestingFramework\Page\Objects\ElementObject') {
536+
if ($classType === ElementObject::class) {
530537
$name = $key;
531-
list($section, $field) = explode('.', $key, 2);
538+
list($section,) = explode('.', $key, 2);
532539
/** @var SectionObject $references[$section] */
533540
$file = $references[$section]->getFilename();
534541
} else {
@@ -578,19 +585,19 @@ private function setErrorOutput($violatingReferences, $path)
578585
private function getSubjectFromClassType($classname)
579586
{
580587
$subject = null;
581-
if ($classname === 'Magento\FunctionalTestingFramework\Test\Objects\ActionGroupObject') {
588+
if ($classname === ActionGroupObject::class) {
582589
$subject = 'Deprecated ActionGroup(s)';
583-
} elseif ($classname === 'Magento\FunctionalTestingFramework\Test\Objects\TestObject') {
590+
} elseif ($classname === TestObject::class) {
584591
$subject = 'Deprecated Test(s)';
585-
} elseif ($classname === 'Magento\FunctionalTestingFramework\Page\Objects\SectionObject') {
592+
} elseif ($classname === SectionObject::class) {
586593
$subject = 'Deprecated Section(s)';
587-
} elseif ($classname === 'Magento\FunctionalTestingFramework\Page\Objects\PageObject') {
594+
} elseif ($classname === PageObject::class) {
588595
$subject = 'Deprecated Page(s)';
589-
} elseif ($classname === 'Magento\FunctionalTestingFramework\Page\Objects\ElementObject') {
596+
} elseif ($classname === ElementObject::class) {
590597
$subject = 'Deprecated Element(s)';
591-
} elseif ($classname === 'Magento\FunctionalTestingFramework\DataGenerator\Objects\EntityDataObject') {
598+
} elseif ($classname === EntityDataObject::class) {
592599
$subject = 'Deprecated Data(s)';
593-
} elseif ($classname === 'Magento\FunctionalTestingFramework\DataGenerator\Objects\OperationDefinitionObject') {
600+
} elseif ($classname === OperationDefinitionObject::class) {
594601
$subject = 'Deprecated Metadata(s)';
595602
}
596603
return $subject;

src/Magento/FunctionalTestingFramework/StaticCheck/TestDependencyCheck.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class TestDependencyCheck implements StaticCheckInterface
8585
*
8686
* @param InputInterface $input
8787
* @return string
88-
* @throws Exception;
88+
* @throws Exception
8989
*/
9090
public function execute(InputInterface $input)
9191
{

src/Magento/FunctionalTestingFramework/Util/Script/ScriptUtil.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public function resolveEntityReferences($braceReferences, $contents, $resolveSec
144144
if ($entity !== null) {
145145
$entities[$entity->getName()] = $entity;
146146
if ($resolveSectionElement) {
147-
if (get_class($entity) === 'Magento\FunctionalTestingFramework\Page\Objects\SectionObject') {
147+
if (get_class($entity) === SectionObject::class) {
148148
// trim `{{data.field}}` to `field`
149149
preg_match('/.([^.]+)}}/', $reference, $elementName);
150150
/** @var ElementObject $element */
@@ -168,6 +168,7 @@ public function resolveEntityReferences($braceReferences, $contents, $resolveSec
168168
* @param boolean $resolveSectionElement
169169
* @return array
170170
* @throws XmlException
171+
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
171172
*/
172173
public function resolveParametrizedReferences($braceReferences, $contents, $resolveSectionElement = false)
173174
{
@@ -197,7 +198,7 @@ public function resolveParametrizedReferences($braceReferences, $contents, $reso
197198
if ($entity !== null) {
198199
$entities[$entity->getName()] = $entity;
199200
if ($resolveSectionElement) {
200-
if (get_class($entity) === 'Magento\FunctionalTestingFramework\Page\Objects\SectionObject') {
201+
if (get_class($entity) === SectionObject::class) {
201202
// trim `data.field` to `field`
202203
preg_match('/.([^.]+)/', $argument, $elementName);
203204
/** @var ElementObject $element */

0 commit comments

Comments
 (0)