Files
gridpilot.gg/apps/website/lib/formatters/UserStatusFormatter.test.ts
Marc Mintel 3db2209d2a
Some checks failed
CI / lint-typecheck (push) Failing after 4m52s
CI / tests (push) Has been skipped
CI / contract-tests (push) Has been skipped
CI / e2e-tests (push) Has been skipped
CI / comment-pr (push) Has been skipped
CI / commit-types (push) Has been skipped
formatter tests
2026-01-25 11:17:47 +01:00

95 lines
3.1 KiB
TypeScript

import { describe, it, expect } from 'vitest';
import { UserStatusFormatter } from './UserStatusFormatter';
describe('UserStatusFormatter', () => {
describe('statusLabel', () => {
it('should format "active" correctly', () => {
expect(UserStatusFormatter.statusLabel('active')).toBe('Active');
});
it('should format "suspended" correctly', () => {
expect(UserStatusFormatter.statusLabel('suspended')).toBe('Suspended');
});
it('should format "deleted" correctly', () => {
expect(UserStatusFormatter.statusLabel('deleted')).toBe('Deleted');
});
it('should handle unknown status', () => {
expect(UserStatusFormatter.statusLabel('unknown')).toBe('unknown');
});
});
describe('statusVariant', () => {
it('should return "performance-green" for active status', () => {
expect(UserStatusFormatter.statusVariant('active')).toBe('performance-green');
});
it('should return "yellow-500" for suspended status', () => {
expect(UserStatusFormatter.statusVariant('suspended')).toBe('yellow-500');
});
it('should return "racing-red" for deleted status', () => {
expect(UserStatusFormatter.statusVariant('deleted')).toBe('racing-red');
});
it('should return "gray-500" for unknown status', () => {
expect(UserStatusFormatter.statusVariant('unknown')).toBe('gray-500');
});
});
describe('canSuspend', () => {
it('should return true for active status', () => {
expect(UserStatusFormatter.canSuspend('active')).toBe(true);
});
it('should return false for suspended status', () => {
expect(UserStatusFormatter.canSuspend('suspended')).toBe(false);
});
it('should return false for deleted status', () => {
expect(UserStatusFormatter.canSuspend('deleted')).toBe(false);
});
it('should return false for unknown status', () => {
expect(UserStatusFormatter.canSuspend('unknown')).toBe(false);
});
});
describe('canActivate', () => {
it('should return false for active status', () => {
expect(UserStatusFormatter.canActivate('active')).toBe(false);
});
it('should return true for suspended status', () => {
expect(UserStatusFormatter.canActivate('suspended')).toBe(true);
});
it('should return false for deleted status', () => {
expect(UserStatusFormatter.canActivate('deleted')).toBe(false);
});
it('should return false for unknown status', () => {
expect(UserStatusFormatter.canActivate('unknown')).toBe(false);
});
});
describe('canDelete', () => {
it('should return true for active status', () => {
expect(UserStatusFormatter.canDelete('active')).toBe(true);
});
it('should return true for suspended status', () => {
expect(UserStatusFormatter.canDelete('suspended')).toBe(true);
});
it('should return false for deleted status', () => {
expect(UserStatusFormatter.canDelete('deleted')).toBe(false);
});
it('should return true for unknown status', () => {
expect(UserStatusFormatter.canDelete('unknown')).toBe(true);
});
});
});