Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
VisitReminderType
100.00% covered (success)
100.00%
12 / 12
100.00% covered (success)
100.00%
2 / 2
10
100.00% covered (success)
100.00%
1 / 1
 label
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
5
 defaultTemplate
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
5
1<?php
2
3declare(strict_types=1);
4
5namespace ImovelZapAi\Visits\Domain\Enums;
6
7enum VisitReminderType: string
8{
9    case InitialConfirmation = 'initial_confirmation';
10    case Reminder24h = 'reminder_24h';
11    case Reminder2h = 'reminder_2h';
12    case PresenceConfirmation = 'presence_confirmation';
13
14    public function label(): string
15    {
16        return match ($this) {
17            self::InitialConfirmation => 'Confirmação inicial',
18            self::Reminder24h => 'Lembrete 24 horas',
19            self::Reminder2h => 'Lembrete 2 horas',
20            self::PresenceConfirmation => 'Confirmação de presença',
21        };
22    }
23
24    public function defaultTemplate(): string
25    {
26        return match ($this) {
27            self::InitialConfirmation => 'Olá {{nome}}! Sua visita ao imóvel {{imovel}} está confirmada para {{data}} às {{hora}}. Qualquer dúvida, fale conosco.',
28            self::Reminder24h => 'Lembrete: amanhã às {{hora}} você tem visita em {{imovel}}. Nos vemos lá!',
29            self::Reminder2h => 'Em cerca de 2 horas começa sua visita em {{imovel}} ({{data}} {{hora}}). Até breve!',
30            self::PresenceConfirmation => 'Você confirma presença na visita de {{data}} às {{hora}} em {{imovel}}? Responda SIM para confirmar.',
31        };
32    }
33}