fix issues
This commit is contained in:
56
apps/website/lib/leagueCovers.test.ts
Normal file
56
apps/website/lib/leagueCovers.test.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
import { getLeagueCoverClasses } from './leagueCovers';
|
||||
|
||||
describe('getLeagueCoverClasses', () => {
|
||||
it('should return a string', () => {
|
||||
const result = getLeagueCoverClasses('test-league-id');
|
||||
expect(typeof result).toBe('string');
|
||||
});
|
||||
|
||||
it('should include base layout classes', () => {
|
||||
const result = getLeagueCoverClasses('test-league-id');
|
||||
expect(result).toContain('w-full h-32 rounded-lg overflow-hidden border');
|
||||
expect(result).toContain('border-charcoal-outline/60');
|
||||
});
|
||||
|
||||
it('should include a gradient class', () => {
|
||||
const result = getLeagueCoverClasses('test-league-id');
|
||||
expect(result).toContain('bg-gradient-to-r');
|
||||
});
|
||||
|
||||
it('should produce consistent results for the same input', () => {
|
||||
const leagueId = 'test-league-id';
|
||||
const result1 = getLeagueCoverClasses(leagueId);
|
||||
const result2 = getLeagueCoverClasses(leagueId);
|
||||
expect(result1).toBe(result2);
|
||||
});
|
||||
|
||||
it('should produce different results for different inputs', () => {
|
||||
const result1 = getLeagueCoverClasses('league-1');
|
||||
const result2 = getLeagueCoverClasses('league-2');
|
||||
expect(result1).not.toBe(result2);
|
||||
});
|
||||
|
||||
it('should handle empty string input', () => {
|
||||
const result = getLeagueCoverClasses('');
|
||||
expect(typeof result).toBe('string');
|
||||
expect(result).toContain('bg-gradient-to-r');
|
||||
});
|
||||
|
||||
it('should handle special characters in league ID', () => {
|
||||
const result = getLeagueCoverClasses('league-with-special-chars-123');
|
||||
expect(typeof result).toBe('string');
|
||||
expect(result).toContain('bg-gradient-to-r');
|
||||
});
|
||||
|
||||
it('should cycle through available gradients', () => {
|
||||
// Test multiple different IDs to ensure we're using the gradient array
|
||||
const results = new Set<string>();
|
||||
for (let i = 0; i < 10; i++) {
|
||||
const result = getLeagueCoverClasses(`league-${i}`);
|
||||
results.add(result);
|
||||
}
|
||||
// Should have at least 2 different results (likely more)
|
||||
expect(results.size).toBeGreaterThan(1);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user