Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
TransactionTypeEnum
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 reasons
0.00% covered (danger)
0.00%
0 / 7
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace Domain\Transaction\Enums;
4
5use Domain\StockIO\Enums\StockItemAdjustmentReasonEnum;
6
7enum TransactionTypeEnum: int
8{
9    case INPUT      = 1;
10    case OUTPUT     = 2;
11    case TRANSFER   = 3;
12    case ADJUSTMENT = 4;
13    case STORE      = 5;
14
15    public function reasons(): string
16    {
17        return match ($this) {
18            self::INPUT      => TransactionInputReasonEnum::class,
19            self::OUTPUT     => TransactionOutputReasonEnum::class,
20            self::TRANSFER   => TransactionTransferReasonEnum::class,
21            self::ADJUSTMENT => StockItemAdjustmentReasonEnum::class,
22            self::STORE      => TransactionTransferReasonEnum::class,
23        };
24    }
25}