完善权限监控与安全中心
This commit is contained in:
@@ -48,6 +48,7 @@ describe("PermissionMonitoring.vue", () => {
|
||||
PermissionTrendCharts: true,
|
||||
PermissionAccessLogs: true,
|
||||
PermissionIpLocations: true,
|
||||
SecurityCenter: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -64,6 +65,7 @@ describe("PermissionMonitoring.vue", () => {
|
||||
PermissionTrendCharts: true,
|
||||
PermissionAccessLogs: true,
|
||||
PermissionIpLocations: true,
|
||||
SecurityCenter: true,
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -78,13 +80,38 @@ describe("PermissionMonitoring.vue", () => {
|
||||
expect(source).toContain(':show-security-log="props.isAdmin"');
|
||||
});
|
||||
|
||||
it("uses a full-height source-analysis tab without forcing scroll on other tabs", () => {
|
||||
const source = readFileSync(resolve(__dirname, "./PermissionMonitoring.vue"), "utf8");
|
||||
|
||||
expect(source).toContain(":class=\"{ 'is-source-tab': activeTab === 'ip-locations' }\"");
|
||||
expect(source).toContain('class="ip-locations-pane"');
|
||||
expect(source).toContain(".permission-monitoring.is-source-tab .soybean-monitoring-tabs :deep(.el-tabs__content)");
|
||||
expect(source).toContain("overflow: hidden");
|
||||
expect(source).toContain(".soybean-monitoring-tabs :deep(.el-tabs__content)");
|
||||
expect(source).toContain("overflow: auto");
|
||||
});
|
||||
|
||||
it("resizes the source-analysis chart when its tab becomes active", () => {
|
||||
const source = readFileSync(resolve(__dirname, "./PermissionMonitoring.vue"), "utf8");
|
||||
|
||||
expect(source).toContain('import { ref, computed, h, nextTick, onMounted } from "vue"');
|
||||
expect(source).toContain("type IpLocationsExpose");
|
||||
expect(source).toContain("resize: () => void | Promise<void>");
|
||||
expect(source).toContain('if (tab === "ip-locations")');
|
||||
expect(source).toContain("await nextTick()");
|
||||
expect(source).toContain("await ipLocationsRef.value?.resize()");
|
||||
});
|
||||
|
||||
it("uses system monitoring tab names and operation-oriented overview copy", () => {
|
||||
const source = readFileSync(resolve(__dirname, "./PermissionMonitoring.vue"), "utf8");
|
||||
|
||||
expect(source).toContain('label="运行概览"');
|
||||
expect(source).toContain('label="安全中心"');
|
||||
expect(source).toContain('label="性能趋势"');
|
||||
expect(source).toContain('label="访问审计"');
|
||||
expect(source).toContain('label="来源分析"');
|
||||
expect(source).toContain('<SecurityCenter v-if="props.isAdmin"');
|
||||
expect(source).toContain('name="security"');
|
||||
expect(source).toContain('label: "今日监测事件"');
|
||||
expect(source).toContain('label: "每分钟事件"');
|
||||
expect(source).toContain('label: "今日通过率"');
|
||||
|
||||
Reference in New Issue
Block a user