| 123456789101112131415161718192021222324252627 |
- import { describe, it, expect } from 'vitest';
- import { AllSettingSchema } from '@/schemas/setting';
- import { AllSetting } from '@/models/setting';
- describe('subInfoNode settings', () => {
- it('defaults on AllSetting', () => {
- const s = new AllSetting();
- expect(s.subInfoNodeEnable).toBe(false);
- expect(s.subExpiredTemplate).toBe('⛔ {{EMAIL}} | Expired: {{EXPIRE_DATE}}');
- expect(s.subTrafficDepletedTemplate).toBe(
- '🚫 {{EMAIL}} | Traffic Depleted | {{TRAFFIC_USED}}/{{TRAFFIC_TOTAL}}',
- );
- });
- it('accepts valid values in the settings schema', () => {
- const r = AllSettingSchema.safeParse({
- subInfoNodeEnable: true,
- subExpiredTemplate: 'custom expired',
- subTrafficDepletedTemplate: 'custom depleted',
- });
- expect(r.success).toBe(true);
- });
- it('rejects invalid types', () => {
- expect(AllSettingSchema.safeParse({ subInfoNodeEnable: 'true' }).success).toBe(false);
- });
- });
|