autowp/autowp

View on GitHub
module/Application/test/Controller/Api/ItemControllerTest.php

Summary

Maintainability
F
6 days
Test Coverage

File ItemControllerTest.php has 614 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php

namespace ApplicationTest\Controller\Api;

use Application\Controller\Api\ItemController;
Severity: Major
Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 day to fix

    The class ItemControllerTest has 13 public methods. Consider refactoring ItemControllerTest to keep number of public methods under 10.
    Open

    class ItemControllerTest extends AbstractHttpControllerTestCase
    {
        protected string $applicationConfigPath = __DIR__ . '/../../../../../config/application.config.php';
    
        /**

    TooManyPublicMethods

    Since: 0.1

    A class with too many public methods is probably a good suspect for refactoring, in order to reduce its complexity and find a way to have more fine grained objects.

    By default it ignores methods starting with 'get' or 'set'.

    Example

    Source https://phpmd.org/rules/codesize.html#toomanypublicmethods

    ItemControllerTest has 24 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class ItemControllerTest extends AbstractHttpControllerTestCase
    {
        protected string $applicationConfigPath = __DIR__ . '/../../../../../config/application.config.php';
    
        /**
    Severity: Minor
    Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 2 hrs to fix

      Method testCreateCategoryAddItemAndGet has 43 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function testCreateCategoryAddItemAndGet(): void
          {
              $catname = 'catname-' . (10000 * microtime(true));
      
              /** @var Request $request */
      Severity: Minor
      Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

        Method testCreateCarAndAddToBrand has 37 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public function testCreateCarAndAddToBrand(): void
            {
                /** @var Request $request */
                $request = $this->getRequest();
                $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
        Severity: Minor
        Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

          Method testPath has 36 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public function testPath(): void
              {
                  $topCatname = 'top' . microtime(true);
                  $categoryId = $this->createItem([
                      'item_type_id' => Item::CATEGORY,
          Severity: Minor
          Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

            Method testEngineVehicles has 36 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                public function testEngineVehicles(): void
                {
                    $engineId = $this->createItem([
                        'item_type_id' => 2,
                        'name'         => 'GM 5.0 V6',
            Severity: Minor
            Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

              Method testSubscription has 35 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  public function testSubscription(): void
                  {
                      $brand = $this->getRandomBrand();
              
                      $this->reset();
              Severity: Minor
              Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

                Method addPictureToItem has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    private function addPictureToItem(int $vehicleId): int
                    {
                        $this->reset();
                
                        $this->mockDuplicateFinder();
                Severity: Minor
                Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

                  Method testEngineUnderTheHoodPreviews has 32 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                      public function testEngineUnderTheHoodPreviews(): void
                      {
                          $vehicleId = $this->createVehicle();
                          $engineId  = $this->createEngine();
                          $brand     = $this->getRandomBrand();
                  Severity: Minor
                  Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

                    Method testBlacklistedCatnameNotAllowedManually has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                        public function testBlacklistedCatnameNotAllowedManually(): void
                        {
                            $parentVehicleId = $this->createVehicle([
                                'is_group' => true,
                            ]);
                    Severity: Minor
                    Found in module/Application/test/Controller/Api/ItemControllerTest.php - About 1 hr to fix

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testEngineVehicles'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'getRandomBrand'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'getRandomBrand'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testFields'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testEngineUnderTheHoodPreviews'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testPath'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'addItemParent'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'setPerspective'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testSubscription'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'getItemParent'.
                      Open

                              return Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testEngineUnderTheHoodPreviews'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'setEngineToVehicle'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'getItemParent'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testEngineUnderTheHoodPreviews'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testCreateCarAndAddToBrand'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testItemPoint'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testCreateCategoryAddItemAndGet'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testTree'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testCreateCarAndAddToBrand'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'createItem'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testEngineVehicles'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testNatSort'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testBlacklistedCatnameNotAllowedManually'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testSubscription'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testCreateBrand'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'addPictureToItem'.
                      Open

                                  ->addHeader(Data::getAdminAuthHeader(
                                      $this->getApplicationServiceLocator()->get('Config')['keycloak']
                                  ))

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'acceptPicture'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testEngineUnderTheHoodPreviews'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testFields'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testItemPoint'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testPath'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\Laminas\Json\Json' in method 'testNatSort'.
                      Open

                              $json = Json::decode($this->getResponse()->getContent(), Json::TYPE_ARRAY);

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      Avoid using static access to class '\ApplicationTest\Data' in method 'testCreateCategoryAddItemAndGet'.
                      Open

                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                                  $this->getApplicationServiceLocator()->get('Config')['keycloak']
                              ));

                      StaticAccess

                      Since: 1.4.0

                      Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

                      Example

                      class Foo
                      {
                          public function bar()
                          {
                              Bar::baz();
                          }
                      }

                      Source https://phpmd.org/rules/cleancode.html#staticaccess

                      syntax error, unexpected 'string' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST)
                      Open

                          protected string $applicationConfigPath = __DIR__ . '/../../../../../config/application.config.php';

                      Identical blocks of code found in 4 locations. Consider refactoring.
                      Open

                          private function addPictureToItem(int $vehicleId): int
                          {
                              $this->reset();
                      
                              $this->mockDuplicateFinder();
                      module/Application/test/Controller/Api/InboxControllerTest.php on lines 88..133
                      module/Application/test/Controller/Api/PictureControllerTest.php on lines 51..97
                      module/Application/test/Controller/Api/PictureModerVoteControllerTest.php on lines 50..95

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 325.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Identical blocks of code found in 6 locations. Consider refactoring.
                      Open

                          private function createItem(array $params): int
                          {
                              $this->reset();
                      
                              /** @var Request $request */
                      module/Application/test/Controller/Api/InboxControllerTest.php on lines 51..75
                      module/Application/test/Controller/Api/PictureControllerTest.php on lines 102..126
                      module/Application/test/Controller/Api/PictureModerVoteControllerTest.php on lines 100..124
                      module/Application/test/Controller/Frontend/CarsControllerTest.php on lines 25..49
                      module/Application/test/Controller/Frontend/FactoryControllerTest.php on lines 25..49

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 198.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Identical blocks of code found in 2 locations. Consider refactoring.
                      Open

                          private function addItemParent(int $itemId, int $parentId, array $params = []): void
                          {
                              $this->reset();
                      
                              /** @var Request $request */
                      module/Application/test/Controller/Frontend/FactoryControllerTest.php on lines 54..77

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 154.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Identical blocks of code found in 2 locations. Consider refactoring.
                      Open

                          private function acceptPicture(int $pictureId): void
                          {
                              $this->reset();
                      
                              /** @var Request $request */
                      module/Application/test/Controller/Api/PictureControllerTest.php on lines 155..175

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 132.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Similar blocks of code found in 2 locations. Consider refactoring.
                      Open

                          public function testTree(): void
                          {
                              /** @var Request $request */
                              $request = $this->getRequest();
                              $request->getHeaders()->addHeader(Data::getAdminAuthHeader(
                      module/Application/test/Controller/Frontend/AccountControllerTest.php on lines 78..92

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 109.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Identical blocks of code found in 5 locations. Consider refactoring.
                      Open

                          private function mockDuplicateFinder(): void
                          {
                              $serviceManager = $this->getApplicationServiceLocator();
                      
                              $tables = $serviceManager->get('TableManager');
                      module/Application/test/Controller/Api/InboxControllerTest.php on lines 29..46
                      module/Application/test/Controller/Api/PictureControllerTest.php on lines 29..46
                      module/Application/test/Controller/Api/PictureModerVoteControllerTest.php on lines 28..45
                      module/Application/test/Model/PictureTest.php on lines 45..62

                      Duplicated Code

                      Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                      Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                      When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                      Tuning

                      This issue has a mass of 105.

                      We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                      The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                      If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                      See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                      Refactorings

                      Further Reading

                      Avoid excessively long variable names like $applicationConfigPath. Keep variable name length under 20.
                      Open

                          protected string $applicationConfigPath = __DIR__ . '/../../../../../config/application.config.php';

                      LongVariable

                      Since: 0.2

                      Detects when a field, formal or local variable is declared with a long name.

                      Example

                      class Something {
                          protected $reallyLongIntName = -3; // VIOLATION - Field
                          public static function main( array $interestingArgumentsList[] ) { // VIOLATION - Formal
                              $otherReallyLongName = -5; // VIOLATION - Local
                              for ($interestingIntIndex = 0; // VIOLATION - For
                                   $interestingIntIndex < 10;
                                   $interestingIntIndex++ ) {
                              }
                          }
                      }

                      Source https://phpmd.org/rules/naming.html#longvariable

                      There are no issues that match your filters.

                      Category
                      Status