import assert from 'node:assert/strict'; import test from 'node:test'; import { calculateCalendarTooltipPosition } from '../admin/js/views/academic-calendar.js'; test('подсказка располагается с отступом справа и снизу от курсора', () => { assert.deepEqual(calculateCalendarTooltipPosition({ pointerX: 100, pointerY: 80, tooltipWidth: 280, tooltipHeight: 160, viewportWidth: 1280, viewportHeight: 720 }), { left: 114, top: 94 }); }); test('у правого нижнего края подсказка раскрывается влево и вверх', () => { assert.deepEqual(calculateCalendarTooltipPosition({ pointerX: 1260, pointerY: 700, tooltipWidth: 280, tooltipHeight: 160, viewportWidth: 1280, viewportHeight: 720 }), { left: 966, top: 526 }); }); test('подсказка не выходит за минимальные отступы узкого viewport', () => { assert.deepEqual(calculateCalendarTooltipPosition({ pointerX: 190, pointerY: 110, tooltipWidth: 176, tooltipHeight: 96, viewportWidth: 200, viewportHeight: 120 }), { left: 12, top: 12 }); });