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);
$msg = $done ? 'Module successfully activated.' : 'Module not activated.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::ACTIVATE);
ModuleMapper::update($new);
break;
case ModuleStatusUpdateType::DEACTIVATE:
$done = $module === 'Admin' ? false : $this->app->moduleManager->deactivate($module);
$msg = $done ? 'Module successfully deactivated.' : 'Module not deactivated.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::DEACTIVATE);
ModuleMapper::update($new);
break;
case ModuleStatusUpdateType::INSTALL:
$done = $this->app->moduleManager->isInstalled($module) ? true : false;
@ -1085,6 +1093,12 @@ final class ApiController extends Controller
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->load();
@ -1096,7 +1110,7 @@ final class ApiController extends Controller
$iRequest->header->account = 1;
$iRequest->setData('status', ModuleStatusUpdateType::INSTALL);
$iRequest->setData('module', $key, true);
$iRequest->setData('module', $key);
$this->apiModuleStatusUpdate($iRequest, $iResponse);
}
@ -1152,6 +1166,10 @@ final class ApiController extends Controller
$done = $module === 'Admin' ? false : $this->app->moduleManager->uninstall($module);
$msg = $done ? 'Module successfully uninstalled.' : 'Module not uninstalled.';
$new = clone $old;
$new->setStatus(ModuleStatusUpdateType::DELETE);
ModuleMapper::delete($new);
break;
default:
$done = false;
@ -1159,21 +1177,22 @@ final class ApiController extends Controller
$response->header->status = RequestStatusCode::R_400;
}
ModuleMapper::clearCache();
$new = ModuleMapper::get($module);
$this->app->eventManager->triggerSimilar(
'POST:Module:Admin-module-status-update', '',
[
$request->header->account,
$old, $new,
StringUtils::intHash(ModuleMapper::class), 'module-status',
$module,
self::NAME,
$request->getOrigin(),
]
);
if ($done) {
$new = ModuleMapper::get($module);
if (!$done) {
$this->app->eventManager->triggerSimilar(
'POST:Module:Admin-module-status-update', '',
[
$request->header->account,
$old, $new,
StringUtils::intHash(ModuleMapper::class), 'module-status',
$module,
self::NAME,
$request->getOrigin(),
]
);
} else {
$response->header->status = RequestStatusCode::R_400;
}

View File

@ -41,10 +41,9 @@ class ModuleTest extends \PHPUnit\Framework\TestCase
*/
public function testDefault() : void
{
self::assertEquals(0, $this->module->getId());
self::assertEquals('', $this->module->getId());
self::assertInstanceOf('\DateTimeImmutable', $this->module->createdAt);
self::assertEquals('', $this->module->name);
self::assertEquals('', $this->module->description);
self::assertEquals(ModuleStatus::INACTIVE, $this->module->getStatus());
self::assertEquals(\json_encode($this->module->jsonSerialize()), $this->module->__toString());
self::assertEquals($this->module->jsonSerialize(), $this->module->toArray());
@ -61,17 +60,6 @@ class ModuleTest extends \PHPUnit\Framework\TestCase
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
* @covers Modules\Admin\Models\Module