import { getBaseColorFromGradient } from './getBaseColorFromGradient';

// Test case: Valid gradient string
describe('getBaseColorFromGradient', () => {
  test('getBaseColorFromGradient returns the base color from a valid gradient', () => {
    const gradient = 'linear-gradient(to right, #ff0000, #0000ff)';
    const baseColor = getBaseColorFromGradient(gradient);
    expect(baseColor).toBe('#ff0000');
  });

  test('getBaseColorFromGradient returns the base color from a valid gradient', () => {
    const gradient =
      'linear-gradient(90deg, rgba(131,58,180,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%)';
    const baseColor = getBaseColorFromGradient(gradient);
    expect(baseColor).toBe('rgba(131,58,180,1)');
  });

  test('should return color if not gradient', () => {
    const gradient = '#FFFFFF';
    const baseColor = getBaseColorFromGradient(gradient);
    expect(baseColor).toBe('#FFFFFF');
  });

  test('should return rgba color if not gradient', () => {
    const gradient = 'rgba(131,58,180,1)';
    const baseColor = getBaseColorFromGradient(gradient);
    expect(baseColor).toBe('rgba(131,58,180,1)');
  });

  test('should accept string colors', () => {
    const gradient = 'limeGreen';
    const baseColor = getBaseColorFromGradient(gradient);
    expect(baseColor).toBe('limeGreen');
  });
});
