fix: positionnement lecteur media (mobile/desktop) et drag libre de la mini-video #110
This commit is contained in:
@@ -134,4 +134,30 @@ test.describe('Now Playing — lecture persistante (#110)', () => {
|
||||
await expect(mini).toBeVisible({ timeout: 10000 });
|
||||
await expect(mini.locator('video.np-media--video')).toBeVisible();
|
||||
});
|
||||
|
||||
test('la mini-fenêtre vidéo peut être déplacée librement (centre)', async ({ page }) => {
|
||||
await login(page);
|
||||
await openFile(page, 'TestVault', 'sample-video.webm');
|
||||
await expect(page.locator('#content-area video.np-media--video')).toBeVisible({ timeout: 10000 });
|
||||
await openFile(page, 'TestVault', 'note1.md');
|
||||
|
||||
const mini = page.locator('#now-playing-host .np-dock--video');
|
||||
await expect(mini).toBeVisible({ timeout: 10000 });
|
||||
const before = await mini.evaluate((el) => ({ left: parseFloat(el.style.left), top: parseFloat(el.style.top) }));
|
||||
|
||||
const box = await mini.boundingBox();
|
||||
await page.mouse.move(box.x + box.width / 2, box.y + 12);
|
||||
await page.mouse.down();
|
||||
await page.mouse.move(640, 360, { steps: 12 });
|
||||
await page.mouse.up();
|
||||
|
||||
const after = await mini.evaluate((el) => ({ left: parseFloat(el.style.left), top: parseFloat(el.style.top) }));
|
||||
expect(after.left).not.toBe(before.left);
|
||||
expect(after.top).not.toBe(before.top);
|
||||
// Doit pouvoir rester au centre (pas de re-aimantation sur les bords).
|
||||
expect(after.left).toBeGreaterThan(50);
|
||||
expect(after.left).toBeLessThan(900);
|
||||
expect(after.top).toBeGreaterThan(20);
|
||||
expect(after.top).toBeLessThan(600);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user