Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
66.67% covered (warning)
66.67%
6 / 9
50.00% covered (danger)
50.00%
1 / 2
CRAP
0.00% covered (danger)
0.00%
0 / 1
ProposalStatus
66.67% covered (warning)
66.67%
6 / 9
50.00% covered (danger)
50.00%
1 / 2
10.37
0.00% covered (danger)
0.00%
0 / 1
 label
62.50% covered (warning)
62.50%
5 / 8
0.00% covered (danger)
0.00%
0 / 1
9.58
 isOpen
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace ImovelZapAi\Proposals\Domain\Enums;
6
7enum ProposalStatus: string
8{
9    case Draft = 'draft';
10    case Shared = 'shared';
11    case Accepted = 'accepted';
12    case Rejected = 'rejected';
13    case ChangesRequested = 'changes_requested';
14    case Expired = 'expired';
15
16    public function label(): string
17    {
18        return match ($this) {
19            self::Draft => 'Rascunho',
20            self::Shared => 'Compartilhada',
21            self::Accepted => 'Aceita',
22            self::Rejected => 'Recusada',
23            self::ChangesRequested => 'Alteração solicitada',
24            self::Expired => 'Expirada',
25        };
26    }
27
28    public function isOpen(): bool
29    {
30        return in_array($this, [self::Draft, self::Shared, self::ChangesRequested], true);
31    }
32}