diff --git a/src/Messages/MessageTypes.php b/src/Messages/MessageTypes.php index 1273fc17..bdff5e1c 100644 --- a/src/Messages/MessageTypes.php +++ b/src/Messages/MessageTypes.php @@ -34,6 +34,7 @@ final class MessageTypes { 'ban_appeal' => __('禁封申诉', 'aksrt'), 'report' => __('举报', 'aksrt'), 'withdraw' => __('提现', 'aksrt'), + 'credits_added' => __('积分增加', 'aksrt'), 'ticket_new' => __('新工单', 'aksrt'), 'ticket_reply' => __('工单回复', 'aksrt'), 'ticket_urge' => __('工单催单', 'aksrt'), @@ -57,7 +58,7 @@ final class MessageTypes { if (in_array($type, ['report', 'ban_appeal', 'asset_balance_decrease', 'asset_points_decrease'], true)) { return 'danger'; } - if (in_array($type, ['withdraw', 'level_up', 'medal', 'auth_apply_reply', 'download_ready', 'asset_balance_increase', 'asset_points_increase'], true)) { + if (in_array($type, ['withdraw', 'level_up', 'medal', 'auth_apply_reply', 'download_ready', 'credits_added', 'asset_balance_increase', 'asset_points_increase'], true)) { return 'success'; } if (in_array($type, ['system', 'notice'], true)) { diff --git a/tests/widget-system/message-admin-contract.test.cjs b/tests/widget-system/message-admin-contract.test.cjs index ed092a1a..18ea7c73 100644 --- a/tests/widget-system/message-admin-contract.test.cjs +++ b/tests/widget-system/message-admin-contract.test.cjs @@ -165,19 +165,22 @@ test('role broadcasts require confirmation of the current role and count on the assert.equal(nonce_checked.length, 8); }); -test('asset types use Chinese labels in filters, row badges and details', () => { - const { asset_types, filter_form, asset_table } = harness(); +test('asset and credit types use Chinese labels in filters, row badges and details', () => { + const { asset_types, filter_form, asset_table, credits_table } = harness(); assert.deepEqual(asset_types, { asset_balance_increase: ['余额增加', 'success'], asset_balance_decrease: ['余额减少', 'danger'], asset_points_increase: ['积分增加', 'success'], asset_points_decrease: ['积分减少', 'danger'], + credits_added: ['积分增加', 'success'], }); for (const [type, [label]] of Object.entries(asset_types)) { assert.ok(filter_form.includes(``)); } assert.match(asset_table, /class="aksrt-msg-badge is-success"[^>]*>余额增加<\/a>/); assert.match(asset_table, /
消息类型<\/dt>
余额增加<\/dd>/); + assert.match(credits_table, /class="aksrt-msg-badge is-success"[^>]*>积分增加<\/a>/); + assert.match(credits_table, /
消息类型<\/dt>
积分增加<\/dd>/); }); test('single row actions cannot accidentally operate on the checked bulk selection', () => { diff --git a/tests/widget-system/message-admin-harness.php b/tests/widget-system/message-admin-harness.php index 1b96c9b4..3c4f3fd5 100644 --- a/tests/widget-system/message-admin-harness.php +++ b/tests/widget-system/message-admin-harness.php @@ -84,7 +84,7 @@ namespace { public function get_var($sql) { return 2; } public function get_results($sql, $format) { return []; } public function get_row($sql, $format) { return ['total' => 2, 'unread' => 1, 'today' => 1, 'recipients' => 2]; } - public function get_col($sql) { return ['system', 'asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease']; } + public function get_col($sql) { return ['system', 'asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease', 'credits_added']; } public function query($sql) { $this->queries[] = $sql; return 1; } public function esc_like($text) { return addcslashes($text, '_%\\'); } } @@ -121,7 +121,8 @@ namespace { $out['empty'] = $probe->html('render_message_table', [], $filters, 1, false); $out['cache_calls'] = $GLOBALS['cache_calls']; $out['asset_table'] = $probe->html('render_message_table', [array_merge($row, ['type' => 'asset_balance_increase'])], $filters, 1, false); - foreach (['asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease'] as $type) { + $out['credits_table'] = $probe->html('render_message_table', [array_merge($row, ['type' => 'credits_added'])], $filters, 1, false); + foreach (['asset_balance_increase', 'asset_balance_decrease', 'asset_points_increase', 'asset_points_decrease', 'credits_added'] as $type) { $out['asset_types'][$type] = [\AKSRT\Messages\MessageTypes::label($type), \AKSRT\Messages\MessageTypes::tone($type)]; }