Showing 76 of 76 total issues
The method testDevices_GivenUserLoggedIn_EditsDevice_DevicesUpdatedOnPage() has 34 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
public function testDevices_GivenUserLoggedIn_EditsDevice_DevicesUpdatedOnPage(): void
{
$this->browse(function (Browser $browser) {
$deviceName = self::$faker->word();
$deviceDescription = self::$faker->sentence();
- Exclude checks
The method testDevices_GivenUserLoggedIn_ViewContainsUsersDevices() has 30 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
public function testDevices_GivenUserLoggedIn_ViewContainsUsersDevices(): void
{
$user = $this->makeUser();
$deviceName = self::$faker->word();
$deviceDescription = self::$faker->sentence();
- Exclude checks
The method assertDiscoverAppliancesResponse() has 30 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
private function assertDiscoverAppliancesResponse(TestResponse $response, Collection $devices): void
{
$appliances = [];
for ($i = 0; $i < $devices->count(); $i++) {
- Exclude checks
The method testDevices_GivenUserLoggedIn_ClicksEditDeviceButton_OpensEditDeviceModal() has 30 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
public function testDevices_GivenUserLoggedIn_ClicksEditDeviceButton_OpensEditDeviceModal(): void
{
$this->browse(function (Browser $browser) {
$deviceName = self::$faker->word();
$deviceDescription = self::$faker->sentence();
- Exclude checks
The method testMqtt_GivenUserWithInfoScope_ReturnsMqttSettings() has 31 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
public function testMqtt_GivenUserWithInfoScope_ReturnsMqttSettings(): void
{
$user = factory(User::class)->make();
$publicUserId = $user->public_id;
- Exclude checks
The method testHtmlDataAttributesForSpecificDeviceProperties_GivenDeviceAddedToDatabase_AttributesMatchNameAndValueOfAddedDevice() has 25 lines of code. Current threshold is set to 25. Avoid really long methods. Open
Open
public function testHtmlDataAttributesForSpecificDeviceProperties_GivenDeviceAddedToDatabase_AttributesMatchNameAndValueOfAddedDevice(): void
{
foreach ($this->deviceTypeConstants() as $specificDeviceType) {
$addedDevice = $this->addDeviceToDatabase($specificDeviceType);
$specificDevice = $this->addSpecificDevice($addedDevice->id, $specificDeviceType);
- Exclude checks
Avoid unused parameters such as '$schedule'. Open
Open
protected function schedule(Schedule $schedule): void
- Read upRead up
- Exclude checks
UnusedFormalParameter
Since: 0.2
Avoid passing parameters to methods or constructors and then not using those parameters.
Example
class Foo
{
private function bar($howdy)
{
// $howdy is not used
}
}
Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter
Avoid using Tests\Unit\Model\sizeof() function in for loops. Open
Open
for ($i = 0; $i < sizeof($attributeNames); $i++) {
$this->assertEquals($specificDeviceProperties[$i], $attributeNames[$i]);
$this->assertEquals($specificDevice->{$attributeNames[$i]}, $attributeValues[$i]);
}
- Read upRead up
- Exclude checks
CountInLoopExpression
Since: 2.7.0
Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.
Example
class Foo {
public function bar()
{
$array = array();
for ($i = 0; count($array); $i++) {
// ...
}
}
}
Source https://phpmd.org/rules/design.html#countinloopexpression
Avoid using App\Http\Controllers\API\count() function in for loops. Open
Open
for ($i = 0; $i < count($devicesForCurrentUser); $i++) {
$appliance = [
'actions' => $actions,
'additionalApplianceDetails' => (object)[],
'applianceId' => $devicesForCurrentUser[$i]->id,
- Read upRead up
- Exclude checks
CountInLoopExpression
Since: 2.7.0
Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.
Example
class Foo {
public function bar()
{
$array = array();
for ($i = 0; count($array); $i++) {
// ...
}
}
}
Source https://phpmd.org/rules/design.html#countinloopexpression
Line exceeds 120 characters; contains 121 characters Open
Open
->shouldReceive('getAttribute')->with('public_id')->atLeast()->once()->andReturn(self::$faker->randomDigit())
- Exclude checks
Line exceeds 120 characters; contains 139 characters Open
Open
->whenAvailable('#add-device-modal', function ($modal) use ($deviceName, $deviceDescription, $onCode, $offCode, $pulseLength) {
- Exclude checks
Line exceeds 120 characters; contains 147 characters Open
Open
Route::post('/devices/control/{action}', 'API\DevicesController@control')->name('control')->middleware('scope:control', 'apiVerifyUserOwnsDevice');
- Exclude checks
Line exceeds 120 characters; contains 128 characters Open
Open
$this->mockDeviceRepository->shouldReceive('getForPublicId')->with(Mockery::on(function (Uuid $argument) use ($device) {
- Exclude checks
Line exceeds 120 characters; contains 154 characters Open
Open
public function __construct(IDeviceRepository $deviceRepository, IDeviceActionInfoBroker $deviceInformationBroker, MessagePublisher $messagePublisher)
- Exclude checks
Line exceeds 120 characters; contains 128 characters Open
Open
$this->mockDeviceRepository->shouldReceive('getForPublicId')->with(Mockery::on(function (Uuid $argument) use ($device) {
- Exclude checks
Line exceeds 120 characters; contains 148 characters Open
Open
return $this->redirectToDevicesWithMessage($request, FlashMessageLevels::DANGER, "Encountered an error while deleting device '$name'!");
- Exclude checks
Line exceeds 120 characters; contains 126 characters Open
Open
Route::post('/devices/{action}/{publicDeviceId}', 'Web\DevicesController@handleControlRequest')->name('handleControlRequest');
- Exclude checks
Line exceeds 120 characters; contains 132 characters Open
Open
return $this->redirectToDevicesWithMessage($request, FlashMessageLevels::SUCCESS, "Device '$name' was successfully added!");
- Exclude checks
Line exceeds 120 characters; contains 142 characters Open
Open
return $this->redirectToDevicesWithMessage($request, FlashMessageLevels::SUCCESS, "Device '$device->name' was successfully updated!");
- Exclude checks
Line exceeds 120 characters; contains 123 characters Open
Open
$this->assertJsonResponse($response, json_encode(['error' => "Action '$action' not implemented for device"]), 400);
- Exclude checks