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 });
});
