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 });
|
});
|
});
|