test(compare): trace core monthly event actions
This commit is contained in:
@@ -33,7 +33,7 @@ function comparisonMonthlyPatch(string $table, int $id, array $values): void
|
||||
'idColumn' => 'nation',
|
||||
'allowed' => [
|
||||
'name', 'color', 'capital', 'gennum', 'gold', 'rice', 'tech',
|
||||
'power', 'level', 'type', 'rate_tmp', 'scout', 'aux',
|
||||
'power', 'level', 'type', 'rate_tmp', 'scout', 'chief_set', 'aux',
|
||||
'rate', 'strategic_cmd_limit', 'surlimit', 'spy',
|
||||
],
|
||||
],
|
||||
@@ -174,6 +174,7 @@ function comparisonMonthlyDetails(array $observe, int $worldHistoryAfterId): arr
|
||||
'strategicCommandLimit' => 'strategic_cmd_limit',
|
||||
'surrenderLimit' => 'surlimit',
|
||||
'spy' => 'spy',
|
||||
'chiefSet' => 'chief_set',
|
||||
],
|
||||
['spy'],
|
||||
),
|
||||
@@ -292,6 +293,10 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
'AddGlobalBetray',
|
||||
'LostUniqueItem',
|
||||
'MergeInheritPointRank',
|
||||
'ProcessIncome',
|
||||
'NoticeToHistoryLog',
|
||||
'NewYear',
|
||||
'ResetOfficerLock',
|
||||
'PreUpdateMonthly',
|
||||
'PostUpdateMonthly',
|
||||
];
|
||||
@@ -602,7 +607,7 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
throw new \InvalidArgumentException('ProcessSemiAnnual requires resource');
|
||||
}
|
||||
$action = new $actionClass($resource);
|
||||
} elseif (in_array($actionName, ['CreateManyNPC', 'RegNPC', 'RegNeutralNPC', 'RaiseInvader', 'AutoDeleteInvader', 'ChangeCity', 'OpenNationBetting', 'FinishNationBetting', 'BlockScoutAction', 'UnblockScoutAction', 'AddGlobalBetray', 'LostUniqueItem'], true)) {
|
||||
} elseif (in_array($actionName, ['CreateManyNPC', 'RegNPC', 'RegNeutralNPC', 'RaiseInvader', 'AutoDeleteInvader', 'ChangeCity', 'OpenNationBetting', 'FinishNationBetting', 'BlockScoutAction', 'UnblockScoutAction', 'AddGlobalBetray', 'LostUniqueItem', 'ProcessIncome', 'NoticeToHistoryLog'], true)) {
|
||||
$args = $request['args'] ?? [];
|
||||
if (!is_array($args)) {
|
||||
throw new \InvalidArgumentException("{$actionName} args must be an array");
|
||||
@@ -631,6 +636,12 @@ function comparisonMonthlyEventTraceMain(): void
|
||||
if ($actionName === 'LostUniqueItem' && count($args) > 1) {
|
||||
throw new \InvalidArgumentException('LostUniqueItem args must have at most one entry');
|
||||
}
|
||||
if ($actionName === 'ProcessIncome' && count($args) !== 1) {
|
||||
throw new \InvalidArgumentException('ProcessIncome args must have exactly one entry');
|
||||
}
|
||||
if ($actionName === 'NoticeToHistoryLog' && (count($args) < 1 || count($args) > 2)) {
|
||||
throw new \InvalidArgumentException('NoticeToHistoryLog args must have one or two entries');
|
||||
}
|
||||
$action = new $actionClass(...$args);
|
||||
} else {
|
||||
$action = new $actionClass();
|
||||
|
||||
Reference in New Issue
Block a user