5180 fichiers 38.5 Mo 0 téléchargements 227 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / mentions / mentionsFormat.test.ts
mentionsFormat.test.ts 1.5 Ko Télécharger le fichier
import { describe, expect, it } from 'vitest';
import { formatMentionTime, getMentionDateGroup } from './mentionsFormat';

// Fixed reference "now": 2026-06-02 14:30 local time.
const NOW = new Date(2026, 5, 2, 14, 30, 0);
const at = (y: number, mo: number, d: number, h = 12, mi = 0): number => Math.floor(new Date(y, mo, d, h, mi, 0).getTime() / 1000);

describe('getMentionDateGroup', () => {
    it('buckets same-day as today', () => {
        expect(getMentionDateGroup(at(2026, 5, 2, 9, 15), NOW)).toBe('today');
    });

    it('buckets previous day as yesterday', () => {
        expect(getMentionDateGroup(at(2026, 5, 1, 23, 59), NOW)).toBe('yesterday');
    });

    it('buckets two+ days ago as older', () => {
        expect(getMentionDateGroup(at(2026, 4, 28, 10, 0), NOW)).toBe('older');
    });

    it('treats missing/zero timestamp as older', () => {
        expect(getMentionDateGroup(0, NOW)).toBe('older');
    });
});

describe('formatMentionTime', () => {
    it('shows HH:MM (zero-padded) for today', () => {
        expect(formatMentionTime(at(2026, 5, 2, 9, 5), NOW)).toBe('09:05');
    });

    it('shows HH:MM for yesterday', () => {
        expect(formatMentionTime(at(2026, 5, 1, 18, 45), NOW)).toBe('18:45');
    });

    it('shows DD-MM for older entries', () => {
        expect(formatMentionTime(at(2026, 4, 28, 10, 0), NOW)).toBe('28-05');
    });

    it('returns empty string for missing timestamp', () => {
        expect(formatMentionTime(0, NOW)).toBe('');
    });
});
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser