diff --git a/Config/phpcs.xml b/Config/phpcs.xml index ca1e8ca..92e21fa 100755 --- a/Config/phpcs.xml +++ b/Config/phpcs.xml @@ -2,9 +2,16 @@ *.tpl.php +*.pdf.php +*.xls.php +*.csv.php *.css *Markdown.php +*Markdown.js +*Sha1.js +*Sha1b.js *Routes.php +*SearchCommands.php *Hooks.php *ObjLoader.js */vendor/* @@ -98,7 +105,9 @@ *ExponentialSmoothing.php - + + *Server.php + @@ -154,7 +163,9 @@ - + + *DragNDrop.js + *Request.php diff --git a/Config/phpstan-baseline.neon b/Config/phpstan-baseline.neon index 59dd728..265b3aa 100644 --- a/Config/phpstan-baseline.neon +++ b/Config/phpstan-baseline.neon @@ -275,11 +275,6 @@ parameters: count: 1 path: Modules/Calendar/Models/Event.php - - - message: "#^PHPDoc tag @param has invalid value \\(\\$createdBy Creator\\)\\: Unexpected token \"\\$createdBy\", expected TOKEN_IDENTIFIER at offset 18$#" - count: 1 - path: Modules/Calendar/Models/Event.php - - message: "#^Cannot call method setCreatedBy\\(\\) on int\\|Modules\\\\Calendar\\\\Models\\\\Schedule\\|null\\.$#" count: 1 @@ -320,11 +315,6 @@ parameters: count: 4 path: Modules/Chart/Controller/BackendController.php - - - message: "#^Class Modules\\\\Chat\\\\Room does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Chat/Room.php - - message: "#^Call to an undefined method phpOMS\\\\Module\\\\ModuleAbstract\\:\\:createNavigationMid\\(\\)\\.$#" count: 3 @@ -345,11 +335,6 @@ parameters: count: 3 path: Modules/ClientManagement/Controller/BackendController.php - - - message: "#^Property Modules\\\\ClientManagement\\\\Models\\\\Client\\:\\:\\$numberReverse \\(string\\) does not accept bool\\|float\\|int\\|string\\.$#" - count: 1 - path: Modules/ClientManagement/Models/Client.php - - message: "#^Access to an undefined property Modules\\\\ClientManagement\\\\Models\\\\Client\\:\\:\\$taxId\\.$#" count: 2 @@ -550,11 +535,6 @@ parameters: count: 1 path: Modules/EventManagement/Models/Event.php - - - message: "#^PHPDoc tag @param has invalid value \\(\\$createdBy Creator\\)\\: Unexpected token \"\\$createdBy\", expected TOKEN_IDENTIFIER at offset 18$#" - count: 1 - path: Modules/EventManagement/Models/Event.php - - message: "#^Call to an undefined method phpOMS\\\\Message\\\\RequestAbstract\\:\\:getUri\\(\\)\\.$#" count: 1 @@ -1255,16 +1235,6 @@ parameters: count: 3 path: Modules/Kanban/Controller/BackendController.php - - - message: "#^Parameter \\$task of method Modules\\\\Kanban\\\\Models\\\\KanbanCard\\:\\:createFromTask\\(\\) has invalid typehint type Modules\\\\Kanban\\\\Models\\\\Task\\.$#" - count: 1 - path: Modules/Kanban/Models/KanbanCard.php - - - - message: "#^Call to method getId\\(\\) on an unknown class Modules\\\\Kanban\\\\Models\\\\Task\\.$#" - count: 1 - path: Modules/Kanban/Models/KanbanCard.php - - message: "#^PHPDoc tag @return with type int\\|phpOMS\\\\Account\\\\Account is not subtype of native type int\\.$#" count: 1 @@ -1335,11 +1305,6 @@ parameters: count: 1 path: Modules/Marketing/Models/Promotion.php - - - message: "#^PHPDoc tag @param has invalid value \\(\\$createdBy Creator\\)\\: Unexpected token \"\\$createdBy\", expected TOKEN_IDENTIFIER at offset 18$#" - count: 1 - path: Modules/Marketing/Models/Promotion.php - - message: "#^Cannot call method query\\(\\) on PDO\\|null\\.$#" count: 1 @@ -2000,16 +1965,6 @@ parameters: count: 6 path: Modules/Support/Controller/BackendController.php - - - message: "#^Class Modules\\\\Support\\\\Models\\\\Issue does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Support/Models/Issue.php - - - - message: "#^Class Modules\\\\Support\\\\Models\\\\Message does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Support/Models/Message.php - - message: "#^Access to an undefined property Modules\\\\Support\\\\Models\\\\Message\\:\\:\\$id\\.$#" count: 1 @@ -2025,31 +1980,6 @@ parameters: count: 3 path: Modules/Surveys/Controller/BackendController.php - - - message: "#^Class Modules\\\\Surveys\\\\Models\\\\Answer does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Surveys/Models/Answer.php - - - - message: "#^Class Modules\\\\Surveys\\\\Models\\\\Question does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Surveys/Models/Question.php - - - - message: "#^Class Modules\\\\Surveys\\\\Models\\\\Section does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Surveys/Models/Section.php - - - - message: "#^Property Modules\\\\Surveys\\\\Models\\\\Survey\\:\\:\\$created has unknown class Modules\\\\Surveys\\\\Models\\\\datetime as its type\\.$#" - count: 1 - path: Modules/Surveys/Models/Survey.php - - - - message: "#^Class Modules\\\\Surveys\\\\Models\\\\Survey does not have a constructor and must be instantiated without any parameters\\.$#" - count: 1 - path: Modules/Surveys/Models/Survey.php - - message: "#^Call to static method get\\(\\) on an unknown class Modules\\\\Tag\\\\Controller\\\\TagMapper\\.$#" count: 4 @@ -2150,41 +2080,6 @@ parameters: count: 1 path: Modules/Tasks/Models/TaskMapper.php - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:\\$warehouse has unknown class Modules\\\\Warehousing\\\\Models\\\\Warehouse as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^PHPDoc tag @var for property Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:\\$status with type Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus is incompatible with native type int\\|null\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:\\$status has unknown class Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:\\$instances has unknown class Modules\\\\Warehousing\\\\Models\\\\Arrival as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getInstance\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Arrival\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Array \\(array\\\\) does not accept Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getInstance\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\Arrival but returns Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\|Modules\\\\Warehousing\\\\Models\\\\Arrival\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getDate\\(\\) should return DateTime but returns DateTime\\|null\\.$#" count: 1 @@ -2200,26 +2095,6 @@ parameters: count: 1 path: Modules/WarehouseManagement/Models/Arrival.php - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getStatus\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getStatus\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus but returns int\\|null\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^PHPDoc tag @param has invalid value \\(\\\\Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus\\)\\: Unexpected token \"\\\\n \\*\", expected TOKEN_VARIABLE at offset 86$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getWarehouse\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Warehouse\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Arrival.php - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Arrival\\:\\:getAcceptor\\(\\) should return int but returns int\\|null\\.$#" count: 1 @@ -2230,26 +2105,6 @@ parameters: count: 1 path: Modules/WarehouseManagement/Models/Article.php - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Article\\:\\:\\$instances has unknown class Modules\\\\Warehousing\\\\Models\\\\Article as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Article.php - - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Article\\:\\:getInstance\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Article\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Article.php - - - - message: "#^Array \\(array\\\\) does not accept Modules\\\\WarehouseManagement\\\\Models\\\\Article\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Article.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Article\\:\\:getInstance\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\Article but returns Modules\\\\WarehouseManagement\\\\Models\\\\Article\\|Modules\\\\Warehousing\\\\Models\\\\Article\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Article.php - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Article\\:\\:getCreated\\(\\) should return DateTime but returns DateTime\\|null\\.$#" count: 1 @@ -2285,36 +2140,6 @@ parameters: count: 1 path: Modules/WarehouseManagement/Models/Shipping.php - - - message: "#^PHPDoc tag @var for property Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:\\$status with type Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus is incompatible with native type int\\|null\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:\\$status has unknown class Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:\\$instances has unknown class Modules\\\\Warehousing\\\\Models\\\\Article as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getInstance\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Article\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Array \\(array\\\\) does not accept Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getInstance\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\Article but returns Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\|Modules\\\\Warehousing\\\\Models\\\\Article\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getOrder\\(\\) should return int but returns Modules\\\\WarehouseManagement\\\\Models\\\\intstring\\.$#" count: 1 @@ -2330,61 +2155,16 @@ parameters: count: 1 path: Modules/WarehouseManagement/Models/Shipping.php - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getStatus\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getStatus\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus but returns int\\|null\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^PHPDoc tag @param has invalid value \\(\\\\Modules\\\\Warehousing\\\\Models\\\\ArrivalStatus\\)\\: Unexpected token \"\\\\n \\*\", expected TOKEN_VARIABLE at offset 86$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getWarehouse\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Warehouse\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getWarehouse\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\Warehouse but returns string\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Shipping.php - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Shipping\\:\\:getSender\\(\\) should return int but returns int\\|null\\.$#" count: 1 path: Modules/WarehouseManagement/Models/Shipping.php - - - message: "#^Property Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\:\\:\\$instances has unknown class Modules\\\\Warehousing\\\\Models\\\\Warehouse as its type\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Warehouse.php - - message: "#^Access to an undefined property Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\:\\:\\$id\\.$#" count: 2 path: Modules/WarehouseManagement/Models/Warehouse.php - - - message: "#^Return typehint of method Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\:\\:getInstance\\(\\) has invalid type Modules\\\\Warehousing\\\\Models\\\\Warehouse\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Warehouse.php - - - - message: "#^Array \\(array\\\\) does not accept Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Warehouse.php - - - - message: "#^Method Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\:\\:getInstance\\(\\) should return Modules\\\\Warehousing\\\\Models\\\\Warehouse but returns Modules\\\\WarehouseManagement\\\\Models\\\\Warehouse\\|Modules\\\\Warehousing\\\\Models\\\\Warehouse\\.$#" - count: 1 - path: Modules/WarehouseManagement/Models/Warehouse.php - - message: "#^Call to an undefined method phpOMS\\\\Module\\\\ModuleAbstract\\:\\:createNavigationMid\\(\\)\\.$#" count: 5 @@ -2915,6 +2695,16 @@ parameters: count: 1 path: phpOMS/Socket/Server/Server.php + - + message: "#^Cannot call method getSocket\\(\\) on null\\.$#" + count: 1 + path: phpOMS/Socket/Server/Server.php + + - + message: "#^Cannot call method setHandshake\\(\\) on null\\.$#" + count: 1 + path: phpOMS/Socket/Server/Server.php + - message: "#^Property phpOMS\\\\Socket\\\\SocketAbstract\\:\\:\\$sock \\(resource\\) does not accept resource\\|false\\.$#" count: 1 diff --git a/Config/phpstan.neon b/Config/phpstan.neon index 0ef60b7..497eb60 100755 --- a/Config/phpstan.neon +++ b/Config/phpstan.neon @@ -23,4 +23,5 @@ parameters: - *Resources* - */Routes/* - */Hooks/* - - */node_modules/* \ No newline at end of file + - */node_modules/* + - */Modules/Shop/Admin/Install/Application/* \ No newline at end of file diff --git a/Config/reportLang.php b/Config/reportLang.php index 68c7eeb..33c7651 100644 --- a/Config/reportLang.php +++ b/Config/reportLang.php @@ -89,20 +89,20 @@ return [ 'phpOMS\tests\Account\GroupTest:testChangeStatus' => ['description' => 'The default status of the group can be changed to a different valid status', 'type' => 'framework'], 'phpOMS\tests\Account\GroupTest:testStatusException' => ['description' => 'A group can only have valid group status', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract' => ['description' => 'Base permission representation', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testAbstractDefault' => ['description' => 'The permission has the expected default values after initialization', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testUnitInputOutput' => ['description' => 'The unit can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testAppInputOutput' => ['description' => 'The app can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testModuleInputOutput' => ['description' => 'The module can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testFromInputOutput' => ['description' => 'The from can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testTypeInputOutput' => ['description' => 'The type can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testElementInputOutput' => ['description' => 'The element can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testComponentInputOutput' => ['description' => 'The component can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testPermissionInputOutput' => ['description' => 'The permission can be set and returned correctly', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testValidPermission' => ['description' => 'Correct permissions are validated', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testInvalidPermission' => ['description' => 'Invalid permissions are not validted', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testValidPermissionFlag' => ['description' => 'Correct permission flags are validated', 'type' => 'framework'], - 'phpOMS\tests\Account\PermissionAbstract:testInvalidPermissionFlag' => ['description' => 'Invalid permission flags are not validated', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest' => ['description' => 'Base permission representation', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testAbstractDefault' => ['description' => 'The permission has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testUnitInputOutput' => ['description' => 'The unit can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testAppInputOutput' => ['description' => 'The app can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testModuleInputOutput' => ['description' => 'The module can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testFromInputOutput' => ['description' => 'The from can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testTypeInputOutput' => ['description' => 'The type can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testElementInputOutput' => ['description' => 'The element can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testComponentInputOutput' => ['description' => 'The component can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testPermissionInputOutput' => ['description' => 'The permission can be set and returned correctly', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testValidPermission' => ['description' => 'Correct permissions are validated', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testInvalidPermission' => ['description' => 'Invalid permissions are not validted', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testValidPermissionFlag' => ['description' => 'Correct permission flags are validated', 'type' => 'framework'], + 'phpOMS\tests\Account\PermissionAbstractTest:testInvalidPermissionFlag' => ['description' => 'Invalid permission flags are not validated', 'type' => 'framework'], 'phpOMS\tests\Algorithm\Clustering\KmeansTest' => ['description' => 'Clustering points/elements with the K-means algorithm', 'type' => 'framework'], 'phpOMS\tests\Algorithm\Clustering\KmeansTest:testKmeans' => ['description' => 'The clustering of points and dynamic check of new points works as expected', 'type' => 'framework'], @@ -359,19 +359,19 @@ return [ 'phpOMS\tests\Business\Finance\LoanTest:testLoanPayment' => ['description' => 'The loan payments are correct for a given interest rate and period [continuous compounding]', 'type' => 'framework'], 'phpOMS\tests\Business\Finance\LoanTest:testRemainingBalanceLoan' => ['description' => 'The residual value is correct for a given payment amount, interest rate and period [continuous compounding]', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest' => ['description' => 'Stock & bond related formulas', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testBondEquivalentYield' => ['description' => 'The calculation the bond yield based on face value and price is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testExpectedReturnCAPM' => ['description' => 'The calculation of the return of the capital asset pricing model is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testCapitalGainsYield' => ['description' => 'The capital gains yield calculation is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testDilutedEarningsPerShare' => ['description' => 'The diluted earnings per share calculation is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testHoldingPeriodReturn' => ['description' => 'The calculation of the absolute return for multiple holding periods is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testTaxEquivalentYield' => ['description' => 'The tax equivalent yield is calculated correctly', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testNetAssetValue' => ['description' => 'The net asset value is calculated correctly', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testPresentValueOfStockConstantGrowth' => ['description' => 'The calculation of the present value of a stock with constant growth rate is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testTotalStockReturn' => ['description' => 'The total stock return including dividends and sales price is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testYieldToMaturity' => ['description' => 'The calculation of the yield of a bond is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testZeroCouponBondValue' => ['description' => 'The calculation of value of the zero coupon bond is correct', 'type' => 'framework'], - 'phpOMS\tests\Business\Finance\FinanceFormulasTest:testZeroCouponBondEffectiveYield' => ['description' => 'The calculation of the yield of a zero coupon bond is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest' => ['description' => 'Stock & bond related formulas', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testBondEquivalentYield' => ['description' => 'The calculation the bond yield based on face value and price is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testExpectedReturnCAPM' => ['description' => 'The calculation of the return of the capital asset pricing model is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testCapitalGainsYield' => ['description' => 'The capital gains yield calculation is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testDilutedEarningsPerShare' => ['description' => 'The diluted earnings per share calculation is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testHoldingPeriodReturn' => ['description' => 'The calculation of the absolute return for multiple holding periods is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testTaxEquivalentYield' => ['description' => 'The tax equivalent yield is calculated correctly', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testNetAssetValue' => ['description' => 'The net asset value is calculated correctly', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testPresentValueOfStockConstantGrowth' => ['description' => 'The calculation of the present value of a stock with constant growth rate is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testTotalStockReturn' => ['description' => 'The total stock return including dividends and sales price is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testYieldToMaturity' => ['description' => 'The calculation of the yield of a bond is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testZeroCouponBondValue' => ['description' => 'The calculation of value of the zero coupon bond is correct', 'type' => 'framework'], + 'phpOMS\tests\Business\Finance\StockBondsTest:testZeroCouponBondEffectiveYield' => ['description' => 'The calculation of the yield of a zero coupon bond is correct', 'type' => 'framework'], 'phpOMS\tests\Business\Finance\LorenzkurveTest' => ['description' => 'Lorenz kurve', 'type' => 'framework'], 'phpOMS\tests\Business\Finance\LorenzkurveTest:testGiniCoefficient' => ['description' => 'The gini coefficient calculation is correct', 'type' => 'framework'], @@ -603,11 +603,11 @@ return [ 'phpOMS\tests\Event\EventManagerTest:testImportEvents' => ['description' => 'Events can be imported from a file', 'type' => 'framework'], 'phpOMS\tests\Event\EventManagerTest:testInvalidImportEvents' => ['description' => 'Invalid event files cannot be imported and return a failure', 'type' => 'framework'], - 'hpOMS\tests\Localization\L11nManagerTest' => ['description' => 'Localization manager for view templates', 'type' => 'framework'], - 'hpOMS\tests\Localization\L11nManagerTest:testDefault' => ['description' => 'The localization manager has the expected default values after initialization', 'type' => 'framework'], - 'hpOMS\tests\Localization\L11nManagerTest:testLanguageInputOutput' => ['description' => 'Language data can be loaded and output as plain text or html', 'type' => 'framework'], - 'hpOMS\tests\Localization\L11nManagerTest:testInvalidModule' => ['description' => 'Loading language for an invalid module throws Exception', 'type' => 'framework'], - 'hpOMS\tests\Localization\L11nManagerTest:testLanguageFile' => ['description' => 'Language data can be loaded from a file', 'type' => 'framework'], + 'phpOMS\tests\Localization\L11nManagerTest' => ['description' => 'Localization manager for view templates', 'type' => 'framework'], + 'phpOMS\tests\Localization\L11nManagerTest:testDefault' => ['description' => 'The localization manager has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Localization\L11nManagerTest:testLanguageInputOutput' => ['description' => 'Language data can be loaded and output as plain text or html', 'type' => 'framework'], + 'phpOMS\tests\Localization\L11nManagerTest:testInvalidModule' => ['description' => 'Loading language for an invalid module throws Exception', 'type' => 'framework'], + 'phpOMS\tests\Localization\L11nManagerTest:testLanguageFile' => ['description' => 'Language data can be loaded from a file', 'type' => 'framework'], 'phpOMS\tests\Localization\LocalizationTest' => ['description' => 'Localization for information such as language, currency, location, language specific formatting etc.', 'type' => 'framework'], 'phpOMS\tests\Localization\LocalizationTest:testDefault' => ['description' => 'The localization has the expected default values after initialization', 'type' => 'framework'], @@ -670,6 +670,37 @@ return [ // todo: many math things!!! + 'phpOMS\tests\Math\MatrixTest' => ['description' => 'Matrix operations'], + 'phpOMS\tests\Math\MatrixTest:testBase' => ['description' => 'A matrix can return the dimension', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testMultMatrix' => ['description' => 'A matrix can be right-hand multiplicated with a matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testMultMatrixScalar' => ['description' => 'A matrix can be right-hand multiplicated with a scalar', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testAddScalar' => ['description' => 'A scalar can be added to every matrix element', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testSubScalar' => ['description' => 'A scalar can be subtracted from every matrix element', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testAddMatrix' => ['description' => 'Two matrices can be added to each other', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testSubMatrix' => ['description' => 'Two matrices can be subtracted from each other', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testDet' => ['description' => 'The determinant of a matrix can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testSymmetry' => ['description' => 'A symmetric matrix can be validated for symmetry', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidSymmetry' => ['description' => 'A none-symmetric matrix cannot be validated for symmetry', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testTranspose' => ['description' => 'A matrix can be transposed', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testSolve' => ['description' => 'A matrix equation Ax = b can be solved for x', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testRank' => ['description' => 'The rank of a matrix can be calculated', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testMatrixInputOutput' => ['description' => 'The matrix elements can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testArrayAccess' => ['description' => 'A matrix can be accessed like a 1-dimensional array', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testMatrixExtract' => ['description' => 'Sub matrices can be extracted from a matrix', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidSetIndexException' => ['description' => 'Setting a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidGetIndexException' => ['description' => 'Returning a matrix element outside of the dimensions throws a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidSub' => ['description' => 'Subtracting a invalid data type from a matrix throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidAdd' => ['description' => 'Adding a invalid data type to a matrix throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidMult' => ['description' => 'Multiplicating a invalid data type with a matrix throws a InvalidArgumentException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidDimensionAdd' => ['description' => 'Adding a matrix with a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidDimensionSub' => ['description' => 'Subtracting a matrix from a different dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'], + 'phpOMS\tests\Math\MatrixTest:testInvalidDimensionMult' => ['description' => 'SMultiplicating a matrix with a different n x m dimension to a matrix throws a InvalidDimensionException', 'type' => 'framework'], + + 'phpOMS\tests\Math\VectorTest' => ['description' => 'Vector operations'], + 'phpOMS\tests\Math\VectorTest:testDefault' => ['description' => 'The vector has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Math\VectorTest:testValueInputOutput' => ['description' => 'The vector values can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Math\VectorTest:testDim' => ['description' => 'The vector dimension can be returned', 'type' => 'framework'], + 'phpOMS\tests\Math\Numerics\Interpolation\CubicSplineInterpolationTest' => ['description' => 'Cubic spline interpolation'], 'phpOMS\tests\Math\Numerics\Interpolation\CubicSplineInterpolationTest:testInterpolationFirstDerivative' => ['description' => 'The spline interpolation using the first derivative is correct', 'type' => 'framework'], 'phpOMS\tests\Math\Numerics\Interpolation\CubicSplineInterpolationTest:testInterpolationSecondDerivative' => ['description' => 'The spline interpolation using the second derivative is correct', 'type' => 'framework'], @@ -765,21 +796,195 @@ return [ 'phpOMS\tests\Math\Statistic\MeasureOfDispersionTest:testInvalidSampleVariance' => ['description' => 'An empty dataset in the sample variance throws a ZeroDevisionException', 'type' => 'framework'], 'phpOMS\tests\Math\Statistic\MeasureOfDispersionTest:testInvalidEmpiricalVariance' => ['description' => 'An empty dataset in the empirical/population variance throws a ZeroDevisionException', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest' => ['description' => 'Header for http requests/responses'], - 'phpOMS\tests\Message\HeaderTest:testDefaults' => ['description' => 'The header has the expected default values after initialization', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testSecurityHeader' => ['description' => 'Security policy headers get correctly identified', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testDataInputOutput' => ['description' => 'Header data can be set, checked for existence and returned', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testOverwrite' => ['description' => 'Header data can be forced to get overwritten', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testInvalidOverwrite' => ['description' => 'By default header data doesn\'t get overwritten', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testRemove' => ['description' => 'Header data can be removed', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testInvalidRemove' => ['description' => 'None-existing header data cannot be removed', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testAccountInputOutput' => ['description' => 'Account data can be set and returned', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testDownloadable' => ['description' => 'Data can be defined as downloadable', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testLockInputOutput' => ['description' => 'A header can be locked', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testLockInvalidSet' => ['description' => 'A locked header cannot add new data', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testLockInvalidRemove' => ['description' => 'A locked header cannot remove data', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testHeaderGeneration' => ['description' => 'The header can generate default http headers based on status codes', 'type' => 'framework'], - 'phpOMS\tests\Message\HeaderTest:testInvalidOverwriteSecurityHeader' => ['description' => 'Security header data cannot be changed once defined', 'type' => 'framework'], + 'phpOMS\tests\Message\HeaderAbstractTest' => ['description' => 'Abstract header for requests/responses'], + 'phpOMS\tests\Message\HeaderAbstractTest:testDefaults' => ['description' => 'The the status code can be set and returned', 'type' => 'framework'], + + 'phpOMS\tests\Message\Http\HeaderTest' => ['description' => 'Header for http requests/responses'], + 'phpOMS\tests\Message\Http\HeaderTest:testDefaults' => ['description' => 'The header has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testSecurityHeader' => ['description' => 'Security policy headers get correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testDataInputOutput' => ['description' => 'Header data can be set, checked for existence and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testOverwrite' => ['description' => 'Header data can be forced to get overwritten', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testInvalidOverwrite' => ['description' => 'By default header data doesn\'t get overwritten', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testRemove' => ['description' => 'Header data can be removed', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testInvalidRemove' => ['description' => 'None-existing header data cannot be removed', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testAccountInputOutput' => ['description' => 'Account data can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testDownloadable' => ['description' => 'Data can be defined as downloadable', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testLockInputOutput' => ['description' => 'A header can be locked', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testLockInvalidSet' => ['description' => 'A locked header cannot add new data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testLockInvalidRemove' => ['description' => 'A locked header cannot remove data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testHeaderGeneration' => ['description' => 'The header can generate default http headers based on status codes', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\HeaderTest:testInvalidOverwriteSecurityHeader' => ['description' => 'Security header data cannot be changed once defined', 'type' => 'framework'], + + 'phpOMS\tests\Message\Http\RequestTest' => ['description' => 'Request wrapper for http requests'], + 'phpOMS\tests\Message\Http\RequestTest:testDefault' => ['description' => 'The request has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testOSInputOutput' => ['description' => 'The OS can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testBrowserTypeInputOutput' => ['description' => 'The browser can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testRequestMethodInputOutput' => ['description' => 'The request method can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testRequestMethodToRouteVerb' => ['description' => 'The route verb gets correctly infered from the request method', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testConstructInputOutput' => ['description' => 'The request is correctly constracted', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testHashingInputOutput' => ['description' => 'The url hashes for the different paths get correctly generated', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testDataInputOutput' => ['description' => 'Request data can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testOverwrite' => ['description' => 'Request data can be forcefully overwritten', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testInvalidOverwrite' => ['description' => 'Request data is not overwritten by default', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testUriInputOutput' => ['description' => 'The uri can be changed and returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testDataJsonRead' => ['description' => 'Json data can be read from the request', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testEmptyDataJsonRead' => ['description' => 'None-existing json data reads return empty data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testInvalidDataJsonRead' => ['description' => 'Invalid json data returns empty data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testDataList' => ['description' => 'List data can be read from the request', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testEmptyDataList' => ['description' => 'None-existing list data reads return empty data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testDataLike' => ['description' => 'Request data can be read with pattern matching', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testInvalidDataLikeMatch' => ['description' => 'In case of no pattern matches empty data is returned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testToString' => ['description' => 'A request with a path can be correctly casted to a string', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testToStringData' => ['description' => 'A request with a path and manually added data can be correctly casted to a string', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testToStringGetData' => ['description' => 'A request with a path, query parameters and manually added data can be correctly casted to a string', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testRestRequest' => ['description' => 'A rest request can be made from a request and the result can be read', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testInvalidHttpsPort' => ['description' => 'A invalid https port throws a OutOfRangeException', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RequestTest:testInvalidRouteVerb' => ['description' => 'A Invalid route verb throws a Exception', 'type' => 'framework'], + + 'phpOMS\tests\Message\ResponseAbstractTest' => ['description' => 'Response wrapper for http responses'], + 'phpOMS\tests\Message\ResponseAbstractTest:testDefault' => ['description' => 'The response has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Message\ResponseAbstractTest:testJsonSerialize' => ['description' => 'The response can be json serialized', 'type' => 'framework'], + 'phpOMS\tests\Message\ResponseAbstractTest:testDataInputOutput' => ['description' => 'Data can be set and returned for the response', 'type' => 'framework'], + + 'phpOMS\tests\Message\Http\ResponseTest' => ['description' => 'Response wrapper for http responses'], + 'phpOMS\tests\Message\Http\ResponseTest:testDefault' => ['description' => 'The response has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testResponseInputOutput' => ['description' => 'Response data can be set and retruned', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testRemove' => ['description' => 'Response data can be removed', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testInvalidRemove' => ['description' => 'None-existing response data cannot be removed', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testToArray' => ['description' => 'Response data can be turned into an array', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testJsonRender' => ['description' => 'A response with json as content-type is automatically rendered as json data', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testMinimizedRender' => ['description' => 'A response can be forced to minimize the content by removing newlines and whitespaces', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testInvalidResponseDataToArray' => ['description' => 'Invalid response data results in an empty array', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\ResponseTest:testInvalidResponseDataRender' => ['description' => 'Invalid response data results in an empty render', 'type' => 'framework'], + + 'phpOMS\tests\Message\Http\RestTest' => ['description' => 'Rest request wrapper'], + 'phpOMS\tests\Message\Http\RestTest:testRequest' => ['description' => 'A get request successfully returns the expected result', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RestTest:testPost' => ['description' => 'A post request with data successfully returns the expected result', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RestTest:testPut' => ['description' => 'A put request with data successfully returns the expected result', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RestTest:testDelete' => ['description' => 'A delete request with data successfully returns the expected result', 'type' => 'framework'], + 'phpOMS\tests\Message\Http\RestTest:testGet' => ['description' => 'A get request with data successfully returns the expected result', 'type' => 'framework'], + + 'phpOMS\tests\Model\Html\HeadTest' => ['description' => 'Html head'], + 'phpOMS\tests\Model\Html\HeadTest:testDefault' => ['description' => 'The head has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testTitleInputOutput' => ['description' => 'The title can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testStyleInputOutput' => ['description' => 'The style can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testScriptInputOutput' => ['description' => 'The script can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testLanguageInputOutput' => ['description' => 'The language can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testAssetRender' => ['description' => 'The assets can be set and rendered', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testAssetLateRender' => ['description' => 'The assets can be set and rendered at the end of the document', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testAssetRenderWithAttribute' => ['description' => 'The assets can be set and rendered with attributes', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\HeadTest:testAssetLateRenderWithAttribute' => ['description' => 'The assets can be set and rendered at the end of the document with attributes', 'type' => 'framework'], + + 'phpOMS\tests\Model\Html\MetaTest' => ['description' => 'Html meta data'], + 'phpOMS\tests\Model\Html\MetaTest:testDefault' => ['description' => 'The meta data has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testKeywordInputOutput' => ['description' => 'A keyword can be added and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testAuthorInputOutput' => ['description' => 'The author can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testCharsetInputOutput' => ['description' => 'The charset can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testDescriptionInputOutput' => ['description' => 'The description can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testPropertyInputOutput' => ['description' => 'A property can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testItempropInputOutput' => ['description' => 'A itemprop can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testNameInputOutput' => ['description' => 'A name can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Model\Html\MetaTest:testRender' => ['description' => 'The meta data can be rendered', 'type' => 'framework'], + + 'phpOMS\tests\Module\InfoManagerTest' => ['description' => 'Module info file manager'], + 'phpOMS\tests\Module\InfoManagerTest:testLoad' => ['description' => 'A info file can be correctly loaded', 'type' => 'framework'], + 'phpOMS\tests\Module\InfoManagerTest:testChange' => ['description' => 'A info file can be modified', 'type' => 'framework'], + 'phpOMS\tests\Module\InfoManagerTest:testInvalidPathLoad' => ['description' => 'A invalid info file path load throws a PathException', 'type' => 'framework'], + 'phpOMS\tests\Module\InfoManagerTest:testInvalidPathUpdate' => ['description' => 'A invalid info file path update throws a PathException', 'type' => 'framework'], + 'phpOMS\tests\Module\InfoManagerTest:testInvalidDataSet' => ['description' => 'A invalid change data throws a InvalidArgumentException', 'type' => 'framework'], + + 'phpOMS\tests\Module\ModuleManagerTest' => ['description' => 'Manager for the module system'], + 'phpOMS\tests\Module\ModuleManagerTest:testAttributes' => ['description' => 'The module manager has the expected attributes', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testUnknownModuleInit' => ['description' => 'Invalid module initializations returns a null module', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testUnknownModuleGet' => ['description' => 'Unknown modules return a null module', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testUnknwonModuleStatusChange' => ['description' => 'Unknown modules cannot get activested, deactivated', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testActiveModules' => ['description' => 'Active modules can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testAllModules' => ['description' => 'All available modules can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testInstalledModules' => ['description' => 'Installed modules can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleManagerTest:testAdminModule' => ['description' => 'The valid module can be returned', 'type' => 'framework'], + + 'phpOMS\tests\Module\ModuleAbstractTest' => ['description' => 'Abstract module'], + 'phpOMS\tests\Module\ModuleAbstractTest:testConstants' => ['description' => 'The constant values of the abstract module are overwritten by the extension', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleAbstractTest:testDependencies' => ['description' => 'The dependencies of the module can be returned', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleAbstractTest:testInvalidLocalization' => ['description' => 'A invalid language or theme returns in an empty localization/language dataset', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleAbstractTest:testFillJson' => ['description' => 'The module can automatically generate a json response based on provided data for the frontend', 'type' => 'framework'], + 'phpOMS\tests\Module\ModuleAbstractTest:testFillJsonRaw' => ['description' => 'The module can automatically generate a json response based on provided data', 'type' => 'framework'], + + 'phpOMS\tests\Module\PackageManagerTest' => ['description' => 'Manager for install/update packages'], + 'phpOMS\tests\Module\PackageManagerTest:testPackageValidInstall' => ['description' => 'A package can be installed', 'type' => 'framework'], + 'phpOMS\tests\Module\PackageManagerTest:testNotExtractedLoad' => ['description' => 'A package which didn\'t get extracted cannot be loaded and throws a PathException', 'type' => 'framework'], + 'phpOMS\tests\Module\PackageManagerTest:testInvalidInstall' => ['description' => 'A invalid package cannot be installed and throws a Exception', 'type' => 'framework'], + 'phpOMS\tests\Module\PackageManagerTest:testPackageInvalidKey' => ['description' => 'A invalid package key doesn\'t validate the package', 'type' => 'framework'], + 'phpOMS\tests\Module\PackageManagerTest:testPackageInvalidContent' => ['description' => 'A invalid package content doesn\'t validate the package', 'type' => 'framework'], + 'phpOMS\tests\Module\PackageManagerTest:testCleanup' => ['description' => 'The temporarily extracted package can be cleaned up', 'type' => 'framework'], + + 'phpOMS\tests\Router\WebRouterTest' => ['description' => 'Router for web requests'], + 'phpOMS\tests\Router\WebRouterTest:testDefault' => ['description' => 'The route result for an empty request is empty', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testInvalidRoutingFile' => ['description' => 'A none-existing routing file cannot be imported', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testLoadingRoutesFromFile' => ['description' => 'A existing routing file can be imported', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testRouteMatching' => ['description' => 'A matching route returns the destinations', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testRouteMissMatchingForInvalidVerbs' => ['description' => 'Invalid routing verbs don\'t match even if the route matches', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testDynamicRouteAdding' => ['description' => 'Routes can be added dynamically', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testWithCSRF' => ['description' => 'Routes which require a CSRF token can only match with a CSRF token', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testWithoutCSRF' => ['description' => 'Routes which require a CSRF token don\'t match without a CSRF token', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testWithValidPermissions' => ['description' => 'Routes only match if the permissions match', 'type' => 'framework'], + 'phpOMS\tests\Router\WebRouterTest:testWithInvalidPermissions' => ['description' => 'Routes don\'t match if the permissions don\'t match', 'type' => 'framework'], + + 'phpOMS\tests\Router\SocketRouterTest' => ['description' => 'Router for socket requests'], + 'phpOMS\tests\Router\SocketRouterTest:testDefault' => ['description' => 'The route result for an empty request is empty', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testInvalidRoutingFile' => ['description' => 'A none-existing routing file cannot be imported', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testLoadingRoutesFromFile' => ['description' => 'A existing routing file can be imported', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testRouteMatching' => ['description' => 'A matching route returns the destinations', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testDynamicRouteAdding' => ['description' => 'Routes can be added dynamically', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testWithValidPermissions' => ['description' => 'Routes only match if the permissions match', 'type' => 'framework'], + 'phpOMS\tests\Router\SocketRouterTest:testWithInvalidPermissions' => ['description' => 'Routes don\'t match if the permissions don\'t match', 'type' => 'framework'], + + 'phpOMS\tests\Security\PhpCodeTest' => ['description' => 'Basic php source code security inspection'], + 'phpOMS\tests\Security\PhpCodeTest:testHasUnicode' => ['description' => 'A file with unicode characters gets correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testHasNoUnicode' => ['description' => 'A file with no unicode characters gets correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testDisabledFunctions' => ['description' => 'A file with no disabled functions gets correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testHasDeprecatedFunction' => ['description' => 'A file with deprecated functions gets correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testHasNoDeprecatedFunction' => ['description' => 'A file with no deprecated functions gets correctly identified', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testFileIntegrity' => ['description' => 'A file hash comparison is successfull if the file generates the same hash', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testFileInvalidIntegrity' => ['description' => 'A file hash comparison is unsuccessfull if the file generates a different hash', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testStringIntegrity' => ['description' => 'Two equal strings validate as the same', 'type' => 'framework'], + 'phpOMS\tests\Security\PhpCodeTest:testStringInvalidIntegrity' => ['description' => 'Two different strings don\'t validate as the same', 'type' => 'framework'], + + // socket + + 'phpOMS\tests\Stdlib\Base\AddressTest' => ['description' => 'Address type'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testAttributes' => ['description' => 'The address has the expected attributes', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testDefault' => ['description' => 'The address has the expected default values after initialization', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testFAOInputOutput' => ['description' => 'The fao can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testRecipientInputOutput' => ['description' => 'The recepient can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testLocationInputOutput' => ['description' => 'The location can be set and returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testArray' => ['description' => 'The address can be turned into array data', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\AddressTest:testJsonSerialize' => ['description' => 'The address can be json serialized', 'type' => 'framework'], + + 'phpOMS\tests\Stdlib\Base\EnumArrayTest' => ['description' => 'Enum array type'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testValueOutput' => ['description' => 'A valid enum name returns the enum value', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testValidateEnumName' => ['description' => 'A valid enum name can be validated', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testInvalidEnumNameValidation' => ['description' => 'A invalid enum name doesn\'t validate', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testOutputValues' => ['description' => 'All enum name/value pairs can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testValidateEnumValue' => ['description' => 'A valid enum value can be checked for existance', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testInvalidEnumValueValidation' => ['description' => 'A invalid enum value doesn\'t validate', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testRandomValue' => ['description' => 'The amount of enum values can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testCount' => ['description' => 'A random enum value can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumArrayTest:testInvalidConstantException' => ['description' => 'A invalid enum name throws a OutOfBoundsException', 'type' => 'framework'], + + 'phpOMS\tests\Stdlib\Base\EnumTest' => ['description' => 'Enum type'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testValueOutput' => ['description' => 'A valid enum name returns the enum value', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testNameOutput' => ['description' => 'A valid enum value returns the enum name', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testValidateEnumName' => ['description' => 'A valid enum name can be validated', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidEnumNameValidation' => ['description' => 'A invalid enum name doesn\'t validate', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testOutputValues' => ['description' => 'All enum name/value pairs can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testValidateEnumValue' => ['description' => 'A valid enum value can be checked for existance', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidEnumValueValidation' => ['description' => 'A invalid enum value doesn\'t validate', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testRandomValue' => ['description' => 'The amount of enum values can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testCount' => ['description' => 'A random enum value can be returned', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testFlags' => ['description' => 'Binary flags validate if they are set', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidFlags' => ['description' => 'Binary flags don\'t validate if they are not set', 'type' => 'framework'], + 'phpOMS\tests\Stdlib\Base\EnumTest:testInvalidConstantException' => ['description' => 'A invalid enum name throws a OutOfBoundsException', 'type' => 'framework'], 'phpOMS\tests\System\SystemUtilsTest' => ['description' => 'System information', 'type' => 'framework'], 'phpOMS\tests\System\SystemUtilsTest:testRAM' => ['description' => 'Test if it is possible to get information about the available RAM and usage (on Windows)', 'type' => 'framework'], diff --git a/sdSetup.php b/sdSetup.php index 76676d2..287e7c8 100644 --- a/sdSetup.php +++ b/sdSetup.php @@ -269,107 +269,107 @@ $request->getHeader()->setAccount(1); $request->setData('status', 3); // Helper -$request->setData('module', 'Helper'); +$request->setData('m, trueodule', 'Helper'); $module->apiModuleStatusUpdate($request, $response); // Search -$request->setData('module', 'Search'); +$request->setData('module', 'Search', true); $module->apiModuleStatusUpdate($request, $response); // Dashboard -$request->setData('module', 'Dashboard'); +$request->setData('module', 'Dashboard', true); $module->apiModuleStatusUpdate($request, $response); // Tasks -$request->setData('module', 'Tasks'); +$request->setData('module', 'Tasks', true); $module->apiModuleStatusUpdate($request, $response); // Message -$request->setData('module', 'Message'); +$request->setData('module', 'Message', true); $module->apiModuleStatusUpdate($request, $response); // Calendar -$request->setData('module', 'Calendar'); +$request->setData('module', 'Calendar', true); $module->apiModuleStatusUpdate($request, $response); // Editor -$request->setData('module', 'Editor'); +$request->setData('module', 'Editor', true); $module->apiModuleStatusUpdate($request, $response); // Checklist -$request->setData('module', 'Checklist'); +$request->setData('module', 'Checklist', true); $module->apiModuleStatusUpdate($request, $response); // News -$request->setData('module', 'News'); +$request->setData('module', 'News', true); $module->apiModuleStatusUpdate($request, $response); // Profile -$request->setData('module', 'Profile'); +$request->setData('module', 'Profile', true); $module->apiModuleStatusUpdate($request, $response); // Kanban -$request->setData('module', 'Kanban'); +$request->setData('module', 'Kanban', true); $module->apiModuleStatusUpdate($request, $response); // Workflow -$request->setData('module', 'Workflow'); +$request->setData('module', 'Workflow', true); $module->apiModuleStatusUpdate($request, $response); // HumanResourceManagement -$request->setData('module', 'HumanResourceManagement'); +$request->setData('module', 'HumanResourceManagement', true); $module->apiModuleStatusUpdate($request, $response); // HumanResourceTimeRecording -$request->setData('module', 'HumanResourceTimeRecording'); +$request->setData('module', 'HumanResourceTimeRecording', true); $module->apiModuleStatusUpdate($request, $response); // MyPrivate -$request->setData('module', 'MyPrivate'); +$request->setData('module', 'MyPrivate', true); $module->apiModuleStatusUpdate($request, $response); // Support -$request->setData('module', 'Support'); +$request->setData('module', 'Support', true); $module->apiModuleStatusUpdate($request, $response); // ClientManagement -$request->setData('module', 'ClientManagement'); +$request->setData('module', 'ClientManagement', true); $module->apiModuleStatusUpdate($request, $response); // SupplierManagement -$request->setData('module', 'SupplierManagement'); +$request->setData('module', 'SupplierManagement', true); $module->apiModuleStatusUpdate($request, $response); // ItemManagement -$request->setData('module', 'ItemManagement'); +$request->setData('module', 'ItemManagement', true); $module->apiModuleStatusUpdate($request, $response); // Billling -$request->setData('module', 'Billling'); +$request->setData('module', 'Billling', true); $module->apiModuleStatusUpdate($request, $response); // InvoiceManagement -$request->setData('module', 'InvoiceManagement'); +$request->setData('module', 'InvoiceManagement', true); $module->apiModuleStatusUpdate($request, $response); // WarehouseManagement -$request->setData('module', 'WarehouseManagement'); +$request->setData('module', 'WarehouseManagement', true); $module->apiModuleStatusUpdate($request, $response); // StockTaking -$request->setData('module', 'StockTaking'); +$request->setData('module', 'StockTaking', true); $module->apiModuleStatusUpdate($request, $response); // QualityManagement -$request->setData('module', 'QualityManagement'); +$request->setData('module', 'QualityManagement', true); $module->apiModuleStatusUpdate($request, $response); // AssetManagement -$request->setData('module', 'AssetManagement'); +$request->setData('module', 'AssetManagement', true); $module->apiModuleStatusUpdate($request, $response); // Marketing -$request->setData('module', 'Marketing'); +$request->setData('module', 'Marketing', true); $module->apiModuleStatusUpdate($request, $response); /** @@ -799,20 +799,20 @@ $request->setData('title', 'TestBoard'); $module->apiBoardCreate($request, $response); $request->setData('board', 1); -$request->setData('order', 1); -$request->setData('module', 'News'); +$request->setData('order', 1, true); +$request->setData('module', 'News', true); $module->apiComponentCreate($request, $response); -$request->setData('order', 2); -$request->setData('module', 'Tasks'); +$request->setData('order', 2, true); +$request->setData('module', 'Tasks', true); $module->apiComponentCreate($request, $response); -$request->setData('order', 3); -$request->setData('module', 'Message'); +$request->setData('order', 3, true); +$request->setData('module', 'Message', true); $module->apiComponentCreate($request, $response); -$request->setData('order', 4); -$request->setData('module', 'Calendar'); +$request->setData('order', 4, true); +$request->setData('module', 'Calendar', true); $module->apiComponentCreate($request, $response); /** @@ -864,29 +864,29 @@ $request->setData('profiles', 1); $module->apiEmployeeCreate($request, $response); -$request->setData('employee', 1); -$request->setData('start', '2015-07-01'); -$request->setData('end', '2017-01-15'); -$request->setData('unit', 2); -$request->setData('department', 14); -$request->setData('position', 30); +$request->setData('employee', 1, true); +$request->setData('start', '2015-07-01', true); +$request->setData('end', '2017-01-15', true); +$request->setData('unit', 2, true); +$request->setData('department', 14, true); +$request->setData('position', 30, true); $module->apiEmployeeHistoryCreate($request, $response); -$request->setData('employee', 1); -$request->setData('start', '2017-01-15'); -$request->setData('end', '2019-01-01'); -$request->setData('unit', 2); -$request->setData('department', 14); -$request->setData('position', 8); +$request->setData('employee', 1, true); +$request->setData('start', '2017-01-15', true); +$request->setData('end', '2019-01-01', true); +$request->setData('unit', 2, true); +$request->setData('department', 14, true); +$request->setData('position', 8, true); $module->apiEmployeeHistoryCreate($request, $response); -$request->setData('employee', 1); -$request->setData('start', '2019-01-01'); -$request->setData('end', ''); -$request->setData('unit', 2); -$request->setData('department', 14); -$request->setData('position', 7); +$request->setData('employee', 1, true); +$request->setData('start', '2019-01-01', true); +$request->setData('end', '', true); +$request->setData('unit', 2, true); +$request->setData('department', 14, true); +$request->setData('position', 7, true); $module->apiEmployeeHistoryCreate($request, $response);