Renders brand identity with logo, app name, tagline, and feature icons on green-dark background. Responsive: banner on mobile, 440px column on desktop. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { render, screen } from '@testing-library/svelte';
|
|
import BrandPanel from './BrandPanel.svelte';
|
|
|
|
describe('BrandPanel', () => {
|
|
it('renders the app name', () => {
|
|
render(BrandPanel);
|
|
expect(screen.getByText('Mealprep')).toBeInTheDocument();
|
|
});
|
|
|
|
it('renders the tagline', () => {
|
|
render(BrandPanel);
|
|
expect(screen.getByText('Plan meals, eat well, waste less')).toBeInTheDocument();
|
|
});
|
|
|
|
it('renders the logo emoji', () => {
|
|
render(BrandPanel);
|
|
expect(screen.getByText('🥗')).toBeInTheDocument();
|
|
});
|
|
|
|
it('renders three feature icons with labels', () => {
|
|
render(BrandPanel);
|
|
expect(screen.getByText('Plan')).toBeInTheDocument();
|
|
expect(screen.getByText('Cook')).toBeInTheDocument();
|
|
expect(screen.getByText('Shop')).toBeInTheDocument();
|
|
});
|
|
|
|
it('renders feature emojis', () => {
|
|
render(BrandPanel);
|
|
expect(screen.getByText('📅')).toBeInTheDocument();
|
|
expect(screen.getByText('🍳')).toBeInTheDocument();
|
|
expect(screen.getByText('🛒')).toBeInTheDocument();
|
|
});
|
|
});
|