2023-01-12 19:43:47 +01:00
|
|
|
import { test, expect } from '@playwright/experimental-ct-vue';
|
|
|
|
|
import Counter from '@/components/Counter.vue';
|
|
|
|
|
|
2023-05-02 00:20:46 +02:00
|
|
|
test('update props without remounting', async ({ mount }) => {
|
|
|
|
|
const component = await mount(Counter, {
|
|
|
|
|
props: { count: 9001 },
|
|
|
|
|
});
|
|
|
|
|
await expect(component.getByTestId('props')).toContainText('9001');
|
|
|
|
|
|
|
|
|
|
await component.update({
|
|
|
|
|
props: { count: 1337 },
|
|
|
|
|
});
|
|
|
|
|
await expect(component).not.toContainText('9001');
|
|
|
|
|
await expect(component.getByTestId('props')).toContainText('1337');
|
|
|
|
|
|
|
|
|
|
await expect(component.getByTestId('remount-count')).toContainText('1');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('update event listeners without remounting', async ({ mount }) => {
|
|
|
|
|
const component = await mount(Counter);
|
|
|
|
|
|
|
|
|
|
const messages: string[] = [];
|
|
|
|
|
await component.update({
|
|
|
|
|
on: {
|
|
|
|
|
submit: (count: string) => messages.push(count),
|
2023-01-12 19:43:47 +01:00
|
|
|
},
|
|
|
|
|
});
|
2023-05-02 00:20:46 +02:00
|
|
|
await component.click();
|
|
|
|
|
expect(messages).toEqual(['hello']);
|
|
|
|
|
|
|
|
|
|
await expect(component.getByTestId('remount-count')).toContainText('1');
|
|
|
|
|
});
|
2023-01-12 19:43:47 +01:00
|
|
|
|
2023-05-02 00:20:46 +02:00
|
|
|
test('update slots without remounting', async ({ mount }) => {
|
|
|
|
|
const component = await mount(Counter, {
|
|
|
|
|
slots: { default: 'Default Slot' },
|
|
|
|
|
});
|
|
|
|
|
await expect(component).toContainText('Default Slot');
|
2023-01-12 19:43:47 +01:00
|
|
|
|
2023-05-02 00:20:46 +02:00
|
|
|
await component.update({
|
|
|
|
|
slots: { main: 'Test Slot' },
|
|
|
|
|
});
|
|
|
|
|
await expect(component).not.toContainText('Default Slot');
|
|
|
|
|
await expect(component).toContainText('Test Slot');
|
2023-01-12 19:43:47 +01:00
|
|
|
|
2023-03-24 23:55:32 +01:00
|
|
|
await expect(component.getByTestId('remount-count')).toContainText('1');
|
2023-01-12 19:43:47 +01:00
|
|
|
});
|