import { describe, it, expect } from 'vitest';
import { DriverRegistrationStatusFormatter } from './DriverRegistrationStatusFormatter';

describe('DriverRegistrationStatusFormatter', () => {
  describe('statusMessage', () => {
    it('should return "Registered for this race" when registered', () => {
      expect(DriverRegistrationStatusFormatter.statusMessage(true)).toBe('Registered for this race');
    });

    it('should return "Not registered" when not registered', () => {
      expect(DriverRegistrationStatusFormatter.statusMessage(false)).toBe('Not registered');
    });
  });

  describe('statusBadgeVariant', () => {
    it('should return "success" when registered', () => {
      expect(DriverRegistrationStatusFormatter.statusBadgeVariant(true)).toBe('success');
    });

    it('should return "warning" when not registered', () => {
      expect(DriverRegistrationStatusFormatter.statusBadgeVariant(false)).toBe('warning');
    });
  });

  describe('registrationButtonText', () => {
    it('should return "Withdraw" when registered', () => {
      expect(DriverRegistrationStatusFormatter.registrationButtonText(true)).toBe('Withdraw');
    });

    it('should return "Register" when not registered', () => {
      expect(DriverRegistrationStatusFormatter.registrationButtonText(false)).toBe('Register');
    });
  });
});
