TTeamDesk 学习手册

tests/ticket.test.ts

此代码来自构建时的仓库快照。修改源码后重新构建即可更新。

ts
import { describe, expect, it } from 'vitest';
import { createTicketSchema, listTicketsSchema } from '@/shared/ticket';

describe('输入边界', () => {
  it('拒绝空白标题、空描述和非法优先级', () => {
    for (const input of [
      { title: '  ', description: '问题', priority: 'NORMAL' },
      { title: '标题', description: '', priority: 'NORMAL' },
      { title: '标题', description: '问题', priority: 'INVALID' },
    ])
      expect(createTicketSchema.safeParse(input).success).toBe(false);
  });
  it('限制分页大小,防止一次读取过量数据', () => {
    expect(listTicketsSchema.safeParse({ page: 0 }).success).toBe(false);
    expect(listTicketsSchema.safeParse({ pageSize: 1000 }).success).toBe(false);
  });
});

搜索教程

输入关键词,搜索全部章节。

阅读设置

外观
正文字号

从一张工单出发,读懂数据如何流转。

设置与进度仅保存在当前浏览器。