import React from 'react'; import { describe, it, expect } from 'vitest'; import { render } from '@testing-library/react'; import { PixelBento } from '../../layout/PixelBento'; // PixelBentoCell-specific behavior lives in ./PixelBentoCell.test.tsx. describe('PixelBento', () => { it('renders responsive grid with columns=3 by default (mobile-first 1-col stack)', () => { const { getByTestId } = render(); const el = getByTestId('bento'); expect(el.className).toContain('grid'); // Responsive Tailwind classes — 1 col on mobile, 2 on sm, 3 on lg expect(el.className).toContain('grid-cols-1'); expect(el.className).toContain('sm:grid-cols-2'); expect(el.className).toContain('lg:grid-cols-3'); expect(el.getAttribute('data-columns')).toBe('3'); // gridTemplateColumns is no longer inline — Tailwind drives it via breakpoint classes expect(el.style.gridTemplateColumns).toBe(''); // gridAutoRows still inline expect(el.style.gridAutoRows).toContain('minmax(160px'); }); it('renders responsive grid with columns=4', () => { const { getByTestId } = render(); const el = getByTestId('bento'); expect(el.className).toContain('lg:grid-cols-4'); expect(el.getAttribute('data-columns')).toBe('4'); }); it('renders responsive grid with columns=6', () => { const { getByTestId } = render(); const el = getByTestId('bento'); expect(el.className).toContain('lg:grid-cols-6'); expect(el.getAttribute('data-columns')).toBe('6'); }); });