Code improvements (#1649)

* use global namespace for faster lookups
* phpstan level 5
This commit is contained in:
Kevin Papst
2020-04-19 14:37:14 +02:00
committed by GitHub
parent 7b25e9acaf
commit 0f3fa8fdbe
183 changed files with 604 additions and 574 deletions

View File

@@ -28,7 +28,7 @@ class ActivityControllerTest extends APIControllerBaseTest
{
use RateControllerTestTrait;
protected function getRateUrl(string $id = '1', ?string $rateId = null): string
protected function getRateUrl($id = '1', $rateId = null): string
{
if (null !== $rateId) {
return sprintf('/api/activities/%s/rates/%s', $id, $rateId);
@@ -37,7 +37,7 @@ class ActivityControllerTest extends APIControllerBaseTest
return sprintf('/api/activities/%s/rates', $id);
}
protected function importTestRates(string $id): array
protected function importTestRates($id): array
{
/** @var ActivityRateRepository $rateRepository */
$rateRepository = $this->getEntityManager()->getRepository(ActivityRate::class);
@@ -123,8 +123,8 @@ class ActivityControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(count($expected), count($result));
for ($i = 0; $i < count($result); $i++) {
$this->assertEquals(\count($expected), \count($result));
for ($i = 0; $i < \count($result); $i++) {
$activity = $result[$i];
$hasProject = $expected[$i][0];
$this->assertStructure($activity, false);
@@ -160,7 +160,7 @@ class ActivityControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(5, count($result));
$this->assertEquals(5, \count($result));
$this->assertStructure($result[0], false);
$this->assertEquals(1, $result[4]['project']);
$this->assertEquals(2, $result[3]['project']);

View File

@@ -29,7 +29,7 @@ class ConfigurationControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(7, count($result));
$this->assertEquals(7, \count($result));
$this->assertI18nStructure($result);
}
@@ -56,7 +56,7 @@ class ConfigurationControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(5, count($result));
$this->assertEquals(5, \count($result));
$this->assertTimesheetStructure($result);
}

View File

@@ -25,7 +25,7 @@ class CustomerControllerTest extends APIControllerBaseTest
{
use RateControllerTestTrait;
protected function getRateUrl(string $id = '1', ?string $rateId = null): string
protected function getRateUrl($id = '1', $rateId = null): string
{
if (null !== $rateId) {
return sprintf('/api/customers/%s/rates/%s', $id, $rateId);
@@ -34,7 +34,7 @@ class CustomerControllerTest extends APIControllerBaseTest
return sprintf('/api/customers/%s/rates', $id);
}
protected function importTestRates(string $id): array
protected function importTestRates($id): array
{
/** @var CustomerRateRepository $rateRepository */
$rateRepository = $this->getEntityManager()->getRepository(CustomerRate::class);
@@ -83,7 +83,7 @@ class CustomerControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(1, count($result));
$this->assertEquals(1, \count($result));
$this->assertStructure($result[0], false);
}
@@ -96,7 +96,7 @@ class CustomerControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(1, count($result));
$this->assertEquals(1, \count($result));
$this->assertStructure($result[0], false);
}

View File

@@ -28,7 +28,7 @@ class ProjectControllerTest extends APIControllerBaseTest
{
use RateControllerTestTrait;
protected function getRateUrl(string $id = '1', ?string $rateId = null): string
protected function getRateUrl($id = '1', $rateId = null): string
{
if (null !== $rateId) {
return sprintf('/api/projects/%s/rates/%s', $id, $rateId);
@@ -37,7 +37,7 @@ class ProjectControllerTest extends APIControllerBaseTest
return sprintf('/api/projects/%s/rates', $id);
}
protected function importTestRates(string $id): array
protected function importTestRates($id): array
{
/** @var ProjectRateRepository $rateRepository */
$rateRepository = $this->getEntityManager()->getRepository(ProjectRate::class);
@@ -85,7 +85,7 @@ class ProjectControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(1, count($result));
$this->assertEquals(1, \count($result));
$this->assertStructure($result[0], false);
}
@@ -133,9 +133,9 @@ class ProjectControllerTest extends APIControllerBaseTest
$result = json_decode($client->getResponse()->getContent(), true);
$this->assertIsArray($result);
$this->assertEquals(count($expected), count($result), 'Found wrong amount of projects');
$this->assertEquals(\count($expected), \count($result), 'Found wrong amount of projects');
for ($i = 0; $i < count($expected); $i++) {
for ($i = 0; $i < \count($expected); $i++) {
$project = $result[$i];
$compare = $expected[$i];
$this->assertStructure($project, false);

View File

@@ -17,9 +17,18 @@ use Symfony\Component\HttpFoundation\Response;
*/
trait RateControllerTestTrait
{
abstract protected function getRateUrl(string $id = '1', ?string $rateId = null): string;
/**
* @param string|int $id
* @param string|int|null $rateId
* @return string
*/
abstract protected function getRateUrl($id = '1', $rateId = null): string;
abstract protected function importTestRates(string $id): array;
/**
* @param string|int $id
* @return array
*/
abstract protected function importTestRates($id): array;
public function testAddRateMissingEntityAction()
{
@@ -129,7 +138,7 @@ trait RateControllerTestTrait
$result = json_decode($client->getResponse()->getContent(), true);
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(count($expectedRates), count($result));
$this->assertEquals(\count($expectedRates), \count($result));
foreach ($result as $rate) {
$this->assertRateStructure($rate, ($rate['user'] === null ? null : $rate['user']['id']));
@@ -161,7 +170,7 @@ trait RateControllerTestTrait
$result = json_decode($client->getResponse()->getContent(), true);
$this->assertIsArray($result);
$this->assertEquals(count($expectedRates) - 1, count($result));
$this->assertEquals(\count($expectedRates) - 1, \count($result));
}
public function testDeleteRateEntityNotFound()

View File

@@ -26,7 +26,7 @@ class TagControllerTest extends APIControllerBaseTest
$fixture = new TagFixtures();
$fixture->setTagArray($tagList);
$this->importFixture($client, $fixture);
$this->importFixture($fixture);
}
public function testIsSecure()
@@ -43,7 +43,7 @@ class TagControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertEquals('Test', $result[9]);
}
@@ -57,7 +57,7 @@ class TagControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertEmpty($result);
$this->assertEquals(0, count($result));
$this->assertEquals(0, \count($result));
}
public function testPostAction()
@@ -101,7 +101,7 @@ class TagControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(3, count($result));
$this->assertEquals(3, \count($result));
$this->assertEquals('Administration', $result[0]);
$this->assertEquals('Bug Fixing', $result[1]);
@@ -121,7 +121,7 @@ class TagControllerTest extends APIControllerBaseTest
$this->assertAccessIsGranted($client, '/api/tags');
$result = json_decode($client->getResponse()->getContent(), true);
$this->assertEquals(9, count($result));
$this->assertEquals(9, \count($result));
}
public function testDeleteActionWithUnknownTimesheet()

View File

@@ -25,7 +25,7 @@ class TeamControllerTest extends APIControllerBaseTest
{
$fixture = new TeamFixtures();
$fixture->setAmount(1);
$this->importFixture($client, $fixture);
$this->importFixture($fixture);
}
public function testIsSecure()
@@ -58,7 +58,7 @@ class TeamControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
self::assertEquals(2, count($result));
self::assertEquals(2, \count($result));
$this->assertStructure($result[0], false);
}

View File

@@ -32,18 +32,16 @@ class TimesheetControllerTest extends APIControllerBaseTest
protected function importFixtureForUser(string $role)
{
$em = $this->getEntityManager();
$fixture = new TimesheetFixtures();
$fixture
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(10)
->setUser($this->getUserByRole($em, $role))
->setUser($this->getUserByRole($role))
->setStartDate((new \DateTime('first day of this month'))->setTime(0, 0, 1))
->setAllowEmptyDescriptions(false)
;
$this->importFixture($this, $fixture);
$this->importFixture($fixture);
}
public function testIsSecure()
@@ -60,7 +58,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -73,7 +71,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertDefaultStructure($result[0], false);
$this->assertHasSubresources($result[0]);
}
@@ -89,10 +87,10 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(7)
->setUser($this->getUserByRole($em, User::ROLE_ADMIN))
->setUser($this->getUserByRole(User::ROLE_ADMIN))
->setStartDate(new \DateTime('-10 days'))
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$query = ['user' => 2];
$this->assertAccessIsGranted($client, '/api/timesheets', 'GET', $query);
@@ -100,7 +98,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -115,10 +113,10 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(7)
->setUser($this->getUserByRole($em, User::ROLE_ADMIN))
->setUser($this->getUserByRole(User::ROLE_ADMIN))
->setStartDate(new \DateTime('-10 days'))
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$query = ['user' => 'all'];
$this->assertAccessIsGranted($client, '/api/timesheets', 'GET', $query);
@@ -126,7 +124,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(17, count($result));
$this->assertEquals(17, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -169,7 +167,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(5, count($result));
$this->assertEquals(5, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -201,7 +199,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(5, count($result));
$this->assertEquals(5, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -215,11 +213,11 @@ class TimesheetControllerTest extends APIControllerBaseTest
$fixture
->setExported(true)
->setAmount(7)
->setUser($this->getUserByRole($em, User::ROLE_USER))
->setUser($this->getUserByRole(User::ROLE_USER))
->setStartDate(new \DateTime('first day of this month'))
->setAllowEmptyDescriptions(false)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$begin = new \DateTime('first day of this month');
$begin->setTime(0, 0, 0);
@@ -239,7 +237,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(7, count($result));
$this->assertEquals(7, \count($result));
$this->assertDefaultStructure($result[0], false);
$query = [
@@ -255,7 +253,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertDefaultStructure($result[0], false);
$query = [
@@ -269,7 +267,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(17, count($result));
$this->assertEquals(17, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -424,11 +422,11 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(10)
->setUser($this->getUserByRole($em, User::ROLE_TEAMLEAD))
->setUser($this->getUserByRole(User::ROLE_TEAMLEAD))
->setStartDate(new \DateTime('-10 days'))
->setAllowEmptyDescriptions(false)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$data = [
'activity' => 1,
@@ -567,10 +565,10 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(10)
->setUser($this->getUserByRole($em, User::ROLE_ADMIN))
->setUser($this->getUserByRole(User::ROLE_ADMIN))
->setStartDate($start)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$query = [
'user' => 'all',
@@ -583,7 +581,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(1, count($result));
$this->assertEquals(1, \count($result));
$this->assertDefaultStructure($result[0], false);
$this->assertHasSubresources($result[0]);
}
@@ -600,17 +598,17 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(0)
->setUser($this->getUserByRole($em, User::ROLE_USER))
->setUser($this->getUserByRole(User::ROLE_USER))
->setStartDate($start)
->setAmountRunning(3)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$this->request($client, '/api/timesheets/active');
$this->assertTrue($client->getResponse()->isSuccessful());
$results = json_decode($client->getResponse()->getContent(), true);
$this->assertEquals(3, count($results));
$this->assertEquals(3, \count($results));
foreach ($results as $timesheet) {
$this->assertDefaultStructure($timesheet, false);
}
@@ -629,11 +627,11 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(0)
->setUser($this->getUserByRole($em, User::ROLE_USER))
->setUser($this->getUserByRole(User::ROLE_USER))
->setStartDate($start)
->setAmountRunning(1)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$this->request($client, '/api/timesheets/11/stop', 'PATCH');
$this->assertTrue($client->getResponse()->isSuccessful());
@@ -671,11 +669,11 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(2)
->setUser($this->getUserByRole($em, User::ROLE_ADMIN))
->setUser($this->getUserByRole(User::ROLE_ADMIN))
->setStartDate($start)
->setAmountRunning(3)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$this->request($client, '/api/timesheets/12/stop', 'PATCH');
$this->assertApiResponseAccessDenied($client->getResponse(), 'You are not allowed to stop this timesheet');
@@ -692,12 +690,12 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(10)
->setUser($this->getUserByRole($em, User::ROLE_USER))
->setUser($this->getUserByRole(User::ROLE_USER))
->setStartDate(new \DateTime('-10 days'))
->setAllowEmptyDescriptions(false)
->setUseTags(true)
->setTags(['Test', 'Administration']);
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$query = ['tags' => 'Test'];
$this->assertAccessIsGranted($client, '/api/timesheets', 'GET', $query);
@@ -705,7 +703,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(5, count($result));
$this->assertEquals(5, \count($result));
$this->assertDefaultStructure($result[0], false);
$query = ['tags' => 'Test,Admin'];
@@ -714,7 +712,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(10, count($result));
$this->assertEquals(10, \count($result));
$this->assertDefaultStructure($result[0], false);
$query = ['tags' => 'Nothing-2-see,here'];
@@ -723,7 +721,7 @@ class TimesheetControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(20, count($result));
$this->assertEquals(20, \count($result));
$this->assertDefaultStructure($result[0], false);
}
@@ -811,11 +809,11 @@ class TimesheetControllerTest extends APIControllerBaseTest
->setFixedRate(true)
->setHourlyRate(true)
->setAmount(2)
->setUser($this->getUserByRole($em, User::ROLE_ADMIN))
->setUser($this->getUserByRole(User::ROLE_ADMIN))
->setStartDate($start)
->setAmountRunning(3)
;
$this->importFixture($em, $fixture);
$this->importFixture($fixture);
$this->request($client, '/api/timesheets/2/restart', 'PATCH');
$this->assertApiResponseAccessDenied($client->getResponse(), 'You are not allowed to re-start this timesheet');

View File

@@ -47,7 +47,7 @@ class UserControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(7, count($result));
$this->assertEquals(7, \count($result));
foreach ($result as $user) {
$this->assertStructure($user, false);
}
@@ -61,7 +61,7 @@ class UserControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(1, count($result));
$this->assertEquals(1, \count($result));
foreach ($result as $user) {
$this->assertStructure($user, false);
}
@@ -75,7 +75,7 @@ class UserControllerTest extends APIControllerBaseTest
$this->assertIsArray($result);
$this->assertNotEmpty($result);
$this->assertEquals(8, count($result));
$this->assertEquals(8, \count($result));
foreach ($result as $user) {
$this->assertStructure($user, false);
}