feat: 增加测试覆盖率并优化代码质量
test: 添加单元测试和端到端测试 refactor: 重构登录页面和上传模块 ci: 更新测试覆盖率阈值至42% build: 添加测试相关依赖 docs: 更新测试文档 style: 修复代码格式问题
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
import { describe, it, expect } from '@jest/globals';
|
||||
import { users, content, siteConfig, auditLogs, contentVersions } from './schema';
|
||||
|
||||
describe('Database Schema', () => {
|
||||
describe('users table', () => {
|
||||
it('should have correct columns defined', () => {
|
||||
expect(users.id).toBeDefined();
|
||||
expect(users.email).toBeDefined();
|
||||
expect(users.passwordHash).toBeDefined();
|
||||
expect(users.name).toBeDefined();
|
||||
expect(users.role).toBeDefined();
|
||||
expect(users.avatar).toBeDefined();
|
||||
expect(users.createdAt).toBeDefined();
|
||||
expect(users.updatedAt).toBeDefined();
|
||||
});
|
||||
|
||||
it('should have default role as editor', () => {
|
||||
const role = users.role;
|
||||
expect(role).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('content table', () => {
|
||||
it('should have correct columns defined', () => {
|
||||
expect(content.id).toBeDefined();
|
||||
expect(content.type).toBeDefined();
|
||||
expect(content.title).toBeDefined();
|
||||
expect(content.slug).toBeDefined();
|
||||
expect(content.excerpt).toBeDefined();
|
||||
expect(content.content).toBeDefined();
|
||||
expect(content.coverImage).toBeDefined();
|
||||
expect(content.category).toBeDefined();
|
||||
expect(content.tags).toBeDefined();
|
||||
expect(content.status).toBeDefined();
|
||||
expect(content.publishedAt).toBeDefined();
|
||||
expect(content.authorId).toBeDefined();
|
||||
expect(content.sortOrder).toBeDefined();
|
||||
expect(content.metadata).toBeDefined();
|
||||
expect(content.createdAt).toBeDefined();
|
||||
expect(content.updatedAt).toBeDefined();
|
||||
});
|
||||
|
||||
it('should have default status as draft', () => {
|
||||
expect(content.status).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('contentVersions table', () => {
|
||||
it('should have correct columns defined', () => {
|
||||
expect(contentVersions.id).toBeDefined();
|
||||
expect(contentVersions.contentId).toBeDefined();
|
||||
expect(contentVersions.version).toBeDefined();
|
||||
expect(contentVersions.title).toBeDefined();
|
||||
expect(contentVersions.content).toBeDefined();
|
||||
expect(contentVersions.changes).toBeDefined();
|
||||
expect(contentVersions.changedBy).toBeDefined();
|
||||
expect(contentVersions.changedAt).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('siteConfig table', () => {
|
||||
it('should have correct columns defined', () => {
|
||||
expect(siteConfig.id).toBeDefined();
|
||||
expect(siteConfig.key).toBeDefined();
|
||||
expect(siteConfig.value).toBeDefined();
|
||||
expect(siteConfig.category).toBeDefined();
|
||||
expect(siteConfig.description).toBeDefined();
|
||||
expect(siteConfig.updatedAt).toBeDefined();
|
||||
expect(siteConfig.updatedBy).toBeDefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('auditLogs table', () => {
|
||||
it('should have correct columns defined', () => {
|
||||
expect(auditLogs.id).toBeDefined();
|
||||
expect(auditLogs.userId).toBeDefined();
|
||||
expect(auditLogs.action).toBeDefined();
|
||||
expect(auditLogs.resourceType).toBeDefined();
|
||||
expect(auditLogs.resourceId).toBeDefined();
|
||||
expect(auditLogs.details).toBeDefined();
|
||||
expect(auditLogs.ipAddress).toBeDefined();
|
||||
expect(auditLogs.userAgent).toBeDefined();
|
||||
expect(auditLogs.timestamp).toBeDefined();
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user