fix unit tests

This commit is contained in:
Dennis Eichhorn 2021-09-28 19:35:26 +02:00
parent ec89e46654
commit 2d86917d35
2 changed files with 34 additions and 27 deletions

View File

@ -1071,11 +1071,19 @@ final class ApiController extends Controller
$done = $module === 'Admin' ? false : $this->app->moduleManager->activate($module); $done = $module === 'Admin' ? false : $this->app->moduleManager->activate($module);
$msg = $done ? 'Module successfully activated.' : 'Module not activated.'; $msg = $done ? 'Module successfully activated.' : 'Module not activated.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::ACTIVATE);
ModuleMapper::update($new);
break; break;
case ModuleStatusUpdateType::DEACTIVATE: case ModuleStatusUpdateType::DEACTIVATE:
$done = $module === 'Admin' ? false : $this->app->moduleManager->deactivate($module); $done = $module === 'Admin' ? false : $this->app->moduleManager->deactivate($module);
$msg = $done ? 'Module successfully deactivated.' : 'Module not deactivated.'; $msg = $done ? 'Module successfully deactivated.' : 'Module not deactivated.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::DEACTIVATE);
ModuleMapper::update($new);
break; break;
case ModuleStatusUpdateType::INSTALL: case ModuleStatusUpdateType::INSTALL:
$done = $this->app->moduleManager->isInstalled($module) ? true : false; $done = $this->app->moduleManager->isInstalled($module) ? true : false;
@ -1085,6 +1093,12 @@ final class ApiController extends Controller
break; break;
} }
if (!\is_file(__DIR__ . '/../../../Modules/' . $module . '/info.json')) {
$msg = 'Status change for unknown module requested';
$done = false;
break;
}
$moduleInfo = new ModuleInfo(__DIR__ . '/../../../Modules/' . $module . '/info.json'); $moduleInfo = new ModuleInfo(__DIR__ . '/../../../Modules/' . $module . '/info.json');
$moduleInfo->load(); $moduleInfo->load();
@ -1096,7 +1110,7 @@ final class ApiController extends Controller
$iRequest->header->account = 1; $iRequest->header->account = 1;
$iRequest->setData('status', ModuleStatusUpdateType::INSTALL); $iRequest->setData('status', ModuleStatusUpdateType::INSTALL);
$iRequest->setData('module', $key, true); $iRequest->setData('module', $key);
$this->apiModuleStatusUpdate($iRequest, $iResponse); $this->apiModuleStatusUpdate($iRequest, $iResponse);
} }
@ -1152,6 +1166,10 @@ final class ApiController extends Controller
$done = $module === 'Admin' ? false : $this->app->moduleManager->uninstall($module); $done = $module === 'Admin' ? false : $this->app->moduleManager->uninstall($module);
$msg = $done ? 'Module successfully uninstalled.' : 'Module not uninstalled.'; $msg = $done ? 'Module successfully uninstalled.' : 'Module not uninstalled.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::DELETE);
ModuleMapper::delete($new);
break; break;
default: default:
$done = false; $done = false;
@ -1159,6 +1177,8 @@ final class ApiController extends Controller
$response->header->status = RequestStatusCode::R_400; $response->header->status = RequestStatusCode::R_400;
} }
ModuleMapper::clearCache(); ModuleMapper::clearCache();
if ($done) {
$new = ModuleMapper::get($module); $new = ModuleMapper::get($module);
$this->app->eventManager->triggerSimilar( $this->app->eventManager->triggerSimilar(
@ -1172,8 +1192,7 @@ final class ApiController extends Controller
$request->getOrigin(), $request->getOrigin(),
] ]
); );
} else {
if (!$done) {
$response->header->status = RequestStatusCode::R_400; $response->header->status = RequestStatusCode::R_400;
} }

View File

@ -41,10 +41,9 @@ class ModuleTest extends \PHPUnit\Framework\TestCase
*/ */
public function testDefault() : void public function testDefault() : void
{ {
self::assertEquals(0, $this->module->getId()); self::assertEquals('', $this->module->getId());
self::assertInstanceOf('\DateTimeImmutable', $this->module->createdAt); self::assertInstanceOf('\DateTimeImmutable', $this->module->createdAt);
self::assertEquals('', $this->module->name); self::assertEquals('', $this->module->name);
self::assertEquals('', $this->module->description);
self::assertEquals(ModuleStatus::INACTIVE, $this->module->getStatus()); self::assertEquals(ModuleStatus::INACTIVE, $this->module->getStatus());
self::assertEquals(\json_encode($this->module->jsonSerialize()), $this->module->__toString()); self::assertEquals(\json_encode($this->module->jsonSerialize()), $this->module->__toString());
self::assertEquals($this->module->jsonSerialize(), $this->module->toArray()); self::assertEquals($this->module->jsonSerialize(), $this->module->toArray());
@ -61,17 +60,6 @@ class ModuleTest extends \PHPUnit\Framework\TestCase
self::assertEquals('Name', $this->module->name); self::assertEquals('Name', $this->module->name);
} }
/**
* @testdox The description can be set and returned
* @covers Modules\Admin\Models\Module
* @group module
*/
public function testDescriptionInputOutput() : void
{
$this->module->description = 'Desc';
self::assertEquals('Desc', $this->module->description);
}
/** /**
* @testdox The status can be set and returned * @testdox The status can be set and returned
* @covers Modules\Admin\Models\Module * @covers Modules\Admin\Models\Module