刘光辉
3 小时以前 cf11e63b659afcc9792ab3e395f1b45d844431a8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { describe, expect, it } from 'vitest';
 
import { normalizeUserFieldConfig } from './userFieldConfig';
 
describe('normalizeUserFieldConfig', () => {
  it('uses the current user page defaults when no configuration exists', () => {
    const config = normalizeUserFieldConfig();
    expect(config.form.account).toEqual({ visible: true, required: true });
    expect(config.form.gender).toEqual({ visible: true, required: true });
    expect(config.form.email).toEqual({ visible: false, required: false });
    expect(config.list.account).toEqual({ visible: true, required: false });
    expect(config.list.disableTime).toEqual({ visible: true, required: false });
  });
 
  it('keeps core fields required and hidden fields optional', () => {
    const config = normalizeUserFieldConfig({
      form: {
        account: { visible: false, required: false },
        email: { visible: false, required: true },
        gender: { visible: true, required: false },
      },
    });
    expect(config.form.account).toEqual({ visible: true, required: true });
    expect(config.form.email).toEqual({ visible: false, required: false });
    expect(config.form.gender).toEqual({ visible: true, required: false });
  });
 
  it('allows gender to be hidden and clears its required rule', () => {
    const config = normalizeUserFieldConfig({ form: { gender: { visible: false, required: true } } });
    expect(config.form.gender).toEqual({ visible: false, required: false });
  });
 
  it('allows the disable time column to be hidden', () => {
    const config = normalizeUserFieldConfig({ list: { disableTime: { visible: false, required: false } } });
    expect(config.list.disableTime).toEqual({ visible: false, required: false });
  });
});