feat(web): render component in notifications (#10990)

This commit is contained in:
Michel Heusschen 2024-07-10 16:05:04 +02:00 committed by GitHub
parent 1dd1d36120
commit 59aa347912
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 88 additions and 30 deletions

View file

@ -1,3 +1,4 @@
import NotificationComponentTest from '$lib/components/shared-components/notification/__tests__/notification-component-test.svelte';
import '@testing-library/jest-dom';
import { cleanup, render, type RenderResult } from '@testing-library/svelte';
import { NotificationType } from '../notification';
@ -37,4 +38,24 @@ describe('NotificationCard component', () => {
expect(sut.getByTestId('title')).toHaveTextContent('info');
expect(sut.getByTestId('message')).toHaveTextContent('Notification message');
});
it('shows title and renders component', () => {
sut = render(NotificationCard, {
notification: {
id: 1234,
type: NotificationType.Info,
timeout: 1,
action: { type: 'discard' },
component: {
type: NotificationComponentTest,
props: {
href: 'link',
},
},
},
});
expect(sut.getByTestId('title')).toHaveTextContent('info');
expect(sut.getByTestId('message').innerHTML).toEqual('Notification <b>message</b> with <a href="link">link</a>');
});
});

View file

@ -0,0 +1,5 @@
<script lang="ts">
export let href: string;
</script>
Notification <b>message</b> with <a {href}>link</a>