Item   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 35
c 1
b 0
f 0
dl 0
loc 49
ccs 12
cts 12
cp 1
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A configureOptions() 0 15 1
1
<?php
2
3
/**
4
 * This file is part of riesenia/pohoda package.
5
 *
6
 * Licensed under the MIT License
7
 * (c) RIESENIA.com
8
 */
9
10
declare(strict_types=1);
11
12
namespace Riesenia\Pohoda\IssueSlip;
13
14
use Riesenia\Pohoda\Common\OptionsResolver;
15
use Riesenia\Pohoda\Document\AbstractItem;
16
17
class Item extends AbstractItem
18
{
19
    /** @var string[] */
20
    protected array $refElements = [
21
        'typeServiceMOSS',
22
        'centre',
23
        'activity',
24
        'contract',
25
    ];
26
27
    /** @var string[] */
28
    protected array $elements = [
29
        'text',
30
        'quantity',
31
        'unit',
32
        'coefficient',
33
        'payVAT',
34
        'rateVAT',
35
        'percentVAT',
36
        'discountPercentage',
37
        'homeCurrency',
38
        'foreignCurrency',
39
        'typeServiceMOSS',
40
        'note',
41
        'code',
42
        'stockItem',
43
        'centre',
44
        'activity',
45
        'contract',
46
    ];
47
48
    /**
49
     * {@inheritdoc}
50
     */
51 1
    protected function configureOptions(OptionsResolver $resolver): void
52
    {
53 1
        parent::configureOptions($resolver);
54
55
        // validate / format options
56 1
        $resolver->setNormalizer('text', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string90'));
57 1
        $resolver->setNormalizer('quantity', $this->dependenciesFactory->getNormalizerFactory()->getClosure('float'));
58 1
        $resolver->setNormalizer('unit', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string10'));
59 1
        $resolver->setNormalizer('coefficient', $this->dependenciesFactory->getNormalizerFactory()->getClosure('float'));
60 1
        $resolver->setNormalizer('payVAT', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool'));
61 1
        $resolver->setAllowedValues('rateVAT', ['none', 'high', 'low', 'third', 'historyHigh', 'historyLow', 'historyThird']);
62 1
        $resolver->setNormalizer('percentVAT', $this->dependenciesFactory->getNormalizerFactory()->getClosure('int'));
63 1
        $resolver->setNormalizer('discountPercentage', $this->dependenciesFactory->getNormalizerFactory()->getClosure('float'));
64 1
        $resolver->setNormalizer('note', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string90'));
65 1
        $resolver->setNormalizer('code', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string64'));
66
    }
67
}
68