Files
parenthese/frontend/src/utils/inviteText.test.js
T
IliesAllaliandClaude Opus 5.5 e596887a44 Invitations à créer son arbre, coupées en auto-hébergement (SIGNUP_PROMPTS) (#202)
- La famille sans compte trouve « Faire le mien » en bas du menu Ajouter ; la ligne quitte le menu du
  compte. Après l'inscription, l'arbre de la famille est rattaché et l'assistant de création s'ouvre.
- Démo : les messages des liens et la bulle après « Enregistrer et quitter » proposent l'inscription
  (lien cliquable, message gardé 6 s). La démo lit aussi les options de l'instance.
- Message d'invitation de Noël du 1er décembre au 6 janvier.
- SIGNUP_PROMPTS (API, /auth/options.signupPrompts) : éteint par défaut, allumé pour l'instance hébergée
  dans ecosystem.config.cjs, toujours coupé quand l'inscription est fermée. README, .env.example, OpenAPI.
- Mesures : via sur create_account_clicked et account_screen_viewed, source arbre-partage ou demo
  quand l'adresse n'en porte pas.
- « Quitter l'édition ? » dans la démo ne dit plus que les modifications restent sur l'appareil :
  la démo n'enregistre rien et tout disparaît au rechargement.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 18:17:59 +01:00

27 lines
1.3 KiB
JavaScript

import { describe, expect, it } from 'vitest'
import { buildInviteText, isChristmasSeason } from '../utils/inviteText.js'
// Message d'invitation de Noël (SIGNUP_PROMPTS) : du 1er décembre au 6 janvier, et seulement si l'instance l'autorise
describe("message d'invitation de Noël", () => {
const at = (iso) => new Date(`${iso}T12:00:00`)
it('couvre du 1er décembre au 6 janvier inclus', () => {
expect(isChristmasSeason(at('2026-11-30'))).toBe(false)
expect(isChristmasSeason(at('2026-12-01'))).toBe(true)
expect(isChristmasSeason(at('2027-01-06'))).toBe(true)
expect(isChristmasSeason(at('2027-01-07'))).toBe(false)
})
it('parle de Noël en décembre quand l\'instance l\'autorise', () => {
const text = buildInviteText('https://exemple.test/arbre/x', 'lilas-1928', { seasonal: true, now: at('2026-12-15') })
expect(text).toContain('Pour Noël')
expect(text).toContain('https://exemple.test/arbre/x')
expect(text).toContain('lilas-1928')
})
it('garde le message habituel hors saison ou sur une instance qui ne l\'autorise pas', () => {
expect(buildInviteText('u', 'p', { seasonal: true, now: at('2026-11-15') })).toContain('Je rassemble')
expect(buildInviteText('u', 'p', { seasonal: false, now: at('2026-12-15') })).toContain('Je rassemble')
})
})