Test Setup Failed
Pull Request — master (#11)
by
unknown
32:32
created

RiskCheckRequestMapper::prepareOrderItem()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 12
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 8
nc 1
nop 1
1
<?php
2
3
/**
4
 * MIT License
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\ArvatoRss\Business\Api\Mapper;
9
10
use Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer;
11
use Generated\Shared\Transfer\BillingCustomerMapperTransfer;
12
use Generated\Shared\Transfer\DeliveryCustomerMapperTransfer;
13
use Generated\Shared\Transfer\OrderMapperTransfer;
14
use Generated\Shared\Transfer\QuoteTransfer;
15
use SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\BillingCustomerMapperInterface;
16
use SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\DeliveryCustomerMapperInterface;
17
use SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\IdentificationMapperInterface;
18
use SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\OrderMapperInterface;
19
20
class RiskCheckRequestMapper implements RiskCheckRequestMapperInterface
21
{
22
    /**
23
     * @var \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\IdentificationMapperInterface
24
     */
25
    protected $identificationMapper;
26
27
    /**
28
     * @var \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\BillingCustomerMapperInterface
29
     */
30
    protected $billingCustomerMapper;
31
32
    /**
33
     * @var \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\DeliveryCustomerMapperInterface
34
     */
35
    protected $deliveryCustomerMapper;
36
37
    /**
38
     * @var \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\OrderMapperInterface
39
     */
40
    protected $orderMapper;
41
42
    /**
43
     * @param \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\IdentificationMapperInterface $identificationMapper
44
     * @param \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\BillingCustomerMapperInterface $billingCustomerMapper
45
     * @param \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\DeliveryCustomerMapperInterface $deliveryCustomerMapper
46
     * @param \SprykerEco\Zed\ArvatoRss\Business\Api\Mapper\Aspect\OrderMapperInterface $orderMapper
47
     */
48
    public function __construct(
49
        IdentificationMapperInterface $identificationMapper,
50
        BillingCustomerMapperInterface $billingCustomerMapper,
51
        DeliveryCustomerMapperInterface $deliveryCustomerMapper,
52
        OrderMapperInterface $orderMapper
53
    ) {
54
        $this->identificationMapper = $identificationMapper;
55
        $this->billingCustomerMapper = $billingCustomerMapper;
56
        $this->deliveryCustomerMapper = $deliveryCustomerMapper;
57
        $this->orderMapper = $orderMapper;
58
    }
59
60
    /**
61
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
62
     *
63
     * @return \Generated\Shared\Transfer\ArvatoRssRiskCheckRequestTransfer
64
     */
65
    public function mapQuoteToRequestTranfer(QuoteTransfer $quoteTransfer)
66
    {
67
        $requestTransfer = new ArvatoRssRiskCheckRequestTransfer();
68
69
        $identificationRequestTransfer = $this->identificationMapper->map();
70
        $billingCustomerTransfer = $this->billingCustomerMapper->map(
71
            $this->createBillingCustomerMapperTransfer($quoteTransfer)
72
        );
73
        $deliveryCustomerTransfer = $this->deliveryCustomerMapper->map(
74
            $this->createDeliveryCustomerMapperTransfer($quoteTransfer)
75
        );
76
        $orderTransfer = $this->orderMapper->map(
77
            $this->createOrderMaperTransfer($quoteTransfer)
78
        );
79
80
        $requestTransfer->setIdentification($identificationRequestTransfer);
81
        $requestTransfer->setBillingCustomer($billingCustomerTransfer);
82
        $requestTransfer->setDeliveryCustomer($deliveryCustomerTransfer);
83
        $requestTransfer->setOrder($orderTransfer);
84
85
        return $requestTransfer;
86
    }
87
88
    /**
89
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
90
     *
91
     * @return \Generated\Shared\Transfer\BillingCustomerMapperTransfer
92
     */
93 View Code Duplication
    protected function createBillingCustomerMapperTransfer(QuoteTransfer $quoteTransfer)
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
94
    {
95
        $transfer = new BillingCustomerMapperTransfer();
96
        $transfer->setEmail($quoteTransfer->getCustomer()->getEmail());
97
        $transfer->setBillingAddress($quoteTransfer->getBillingAddress());
98
        $transfer->setSalutation($quoteTransfer->getCustomer()->getSalutation());
99
100
        return $transfer;
101
    }
102
103
    /**
104
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
105
     *
106
     * @return \Generated\Shared\Transfer\DeliveryCustomerMapperTransfer
107
     */
108 View Code Duplication
    protected function createDeliveryCustomerMapperTransfer(QuoteTransfer $quoteTransfer)
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
109
    {
110
        $transfer = new DeliveryCustomerMapperTransfer();
111
        $transfer->setEmail($quoteTransfer->getCustomer()->getEmail());
112
        $transfer->setDeliveryAddress($quoteTransfer->getShippingAddress());
113
        $transfer->setSalutation($quoteTransfer->getCustomer()->getSalutation());
114
115
        return $transfer;
116
    }
117
118
    /**
119
     * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
120
     *
121
     * @return \Generated\Shared\Transfer\OrderMapperTransfer
122
     */
123
    protected function createOrderMaperTransfer(QuoteTransfer $quoteTransfer)
124
    {
125
        $transfer = new OrderMapperTransfer();
126
        $transfer->setOrderReference($quoteTransfer->getOrderReference());
127
        $transfer->setTotals($quoteTransfer->getTotals());
128
        $transfer->setItems($quoteTransfer->getItems());
129
        $transfer->setCustomerIsGuest($quoteTransfer->getCustomer()->getIsGuest());
130
131
        return $transfer;
132
    }
133
}
134