feat: Migrate www to the ui components

This commit is contained in:
deytenit committed 2026-02-10 08:01:18 +03:00
1 parent cb956be216
commit 25044c75ff
19 files changed
+426 -142

No files matched your search

@@ -11,6 +11,27 @@ describe('components/Link', () => {
expect(link).toHaveClass('text-[var(--rb-ring)]');
});
it('automatically adds target="_blank" and rel for external links', () => {
render(<Link href="https://example.com">External</Link>);
const link = screen.getByRole('link');
expect(link).toHaveAttribute('target', '_blank');
expect(link).toHaveAttribute('rel', 'noopener noreferrer');
});
it('does not add target="_blank" for internal links by default', () => {
render(<Link href="/articles">Internal</Link>);
const link = screen.getByRole('link');
expect(link).not.toHaveAttribute('target');
});
it('respects explicit isExternal prop', () => {
const { rerender } = render(<Link isExternal href="/internal">Force External</Link>);
expect(screen.getByRole('link')).toHaveAttribute('target', '_blank');
rerender(<Link href="https://external.com" isExternal={false}>Force Internal</Link>);
expect(screen.getByRole('link')).not.toHaveAttribute('target');
});
it('renders as a button/span when no href is provided but has onPress', () => {
render(<Link onPress={() => {}}>Click me</Link>);
expect(screen.getByText('Click me')).toBeInTheDocument();