import { describe, it, expect } from 'vitest'
import { isValidSiteColor } from '../color'

describe('isValidSiteColor', () => {
    it('accepte un hex majuscule', () => {
        expect(isValidSiteColor('#ABCDEF')).toBe(true)
    })

    it('accepte un hex minuscule', () => {
        expect(isValidSiteColor('#abcdef')).toBe(true)
    })

    it('accepte un hex mixte', () => {
        expect(isValidSiteColor('#0a1B2c')).toBe(true)
    })

    it('accepte les couleurs fixtures du projet', () => {
        expect(isValidSiteColor('#056CF2')).toBe(true)
        expect(isValidSiteColor('#F3CB00')).toBe(true)
        expect(isValidSiteColor('#74BF04')).toBe(true)
    })

    it('rejette un nom CSS', () => {
        expect(isValidSiteColor('red')).toBe(false)
    })

    it('rejette un hex court', () => {
        expect(isValidSiteColor('#FFF')).toBe(false)
    })

    it('rejette un hex sans diese', () => {
        expect(isValidSiteColor('FFFFFF')).toBe(false)
    })

    it('rejette un caractere non hex', () => {
        expect(isValidSiteColor('#12345G')).toBe(false)
    })

    it('rejette une chaine vide', () => {
        expect(isValidSiteColor('')).toBe(false)
    })
})
