| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- import assert from 'node:assert/strict';
- import { test } from 'node:test';
- import {
- adminUserStatusMeta,
- buildMergeConfirmationText,
- mergePreviewSummary,
- serializeAuditFilters,
- serializeSystemEmailPayload
- } from '../src/pages/Admin/admin-model.js';
- test('maps admin user statuses to labels and colors', () => {
- assert.deepEqual(adminUserStatusMeta('pending_email'), { label: '待验证邮箱', color: 'gold' });
- assert.deepEqual(adminUserStatusMeta('pending_review'), { label: '待管理员审核', color: 'blue' });
- assert.deepEqual(adminUserStatusMeta('active'), { label: '正常', color: 'green' });
- assert.deepEqual(adminUserStatusMeta('disabled'), { label: '已禁用', color: 'red' });
- });
- test('summarizes merge preview counts and confirmation text', () => {
- const preview = {
- sourceUser: { username: 'admin' },
- targetUser: { username: 'chendeben' },
- confirmationText: 'MERGE admin INTO chendeben',
- selectedCounts: {
- domains: 3,
- dnsCredentials: 2,
- apiTokens: 1,
- sendEvents: 9,
- smtpCredential: 0
- }
- };
- assert.equal(buildMergeConfirmationText(preview.sourceUser, preview.targetUser), preview.confirmationText);
- assert.deepEqual(mergePreviewSummary(preview), [
- { key: 'domains', label: '域名', count: 3 },
- { key: 'dnsCredentials', label: 'DNS 凭据', count: 2 },
- { key: 'apiTokens', label: 'API Token', count: 1 },
- { key: 'sendEvents', label: '发送记录', count: 9 },
- { key: 'smtpCredential', label: 'SMTP 凭据', count: 0 }
- ]);
- });
- test('serializes system email payload without blank password', () => {
- assert.deepEqual(serializeSystemEmailPayload({
- host: 'smtp.example.com',
- port: '587',
- secure: true,
- username: 'mailer',
- password: ' ',
- fromEmail: 'notify@example.com'
- }), {
- host: 'smtp.example.com',
- port: 587,
- secure: true,
- username: 'mailer',
- fromEmail: 'notify@example.com'
- });
- });
- test('serializes audit filters to query params', () => {
- assert.equal(serializeAuditFilters({
- actorUserId: 1,
- targetUserId: '',
- action: 'admin.user_merge',
- from: '2026-07-08',
- to: undefined
- }), 'actorUserId=1&action=admin.user_merge&from=2026-07-08');
- });
|