UrlsRestApiFixtures::getProductConcreteTransfer()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace PyzTest\Glue\Urls\RestApi;
11
12
use Generated\Shared\Transfer\ProductAbstractTransfer;
13
use Generated\Shared\Transfer\ProductConcreteTransfer;
14
use Generated\Shared\Transfer\ProductUrlTransfer;
15
use PyzTest\Glue\Urls\UrlsRestApiTester;
16
use SprykerTest\Shared\Testify\Fixtures\FixturesBuilderInterface;
17
use SprykerTest\Shared\Testify\Fixtures\FixturesContainerInterface;
18
19
/**
20
 * Auto-generated group annotations
21
 *
22
 * @group PyzTest
23
 * @group Glue
24
 * @group Urls
25
 * @group RestApi
26
 * @group UrlsRestApiFixtures
27
 * Add your own group annotations below this line
28
 * @group EndToEnd
29
 */
30
class UrlsRestApiFixtures implements FixturesBuilderInterface, FixturesContainerInterface
31
{
32
    /**
33
     * @var \Generated\Shared\Transfer\ProductConcreteTransfer
34
     */
35
    protected ProductConcreteTransfer $productConcreteTransfer;
36
37
    /**
38
     * @var \Generated\Shared\Transfer\ProductUrlTransfer
39
     */
40
    protected ProductUrlTransfer $productUrlTransfer;
41
42
    /**
43
     * @return \Generated\Shared\Transfer\ProductConcreteTransfer
44
     */
45
    public function getProductConcreteTransfer(): ProductConcreteTransfer
46
    {
47
        return $this->productConcreteTransfer;
48
    }
49
50
    /**
51
     * @return \Generated\Shared\Transfer\ProductUrlTransfer
52
     */
53
    public function getProductUrlTransfer(): ProductUrlTransfer
54
    {
55
        return $this->productUrlTransfer;
56
    }
57
58
    /**
59
     * @param \PyzTest\Glue\Urls\UrlsRestApiTester $I
60
     *
61
     * @return \SprykerTest\Shared\Testify\Fixtures\FixturesContainerInterface
62
     */
63
    public function buildFixtures(UrlsRestApiTester $I): FixturesContainerInterface
64
    {
65
        $this->createProductConcrete($I);
66
        $this->createProductUrl($I);
67
68
        return $this;
69
    }
70
71
    /**
72
     * @param \PyzTest\Glue\Urls\UrlsRestApiTester $I
73
     *
74
     * @return void
75
     */
76
    protected function createProductConcrete(UrlsRestApiTester $I): void
77
    {
78
        $this->productConcreteTransfer = $I->haveFullProduct();
79
    }
80
81
    /**
82
     * @param \PyzTest\Glue\Urls\UrlsRestApiTester $I
83
     *
84
     * @return void
85
     */
86
    protected function createProductUrl(UrlsRestApiTester $I): void
87
    {
88
        $productAbstractTransfer = (new ProductAbstractTransfer())
89
            ->setIdProductAbstract($this->productConcreteTransfer->getFkProductAbstract());
90
91
        $this->productUrlTransfer = $I->getProductFacade()->getProductUrl($productAbstractTransfer);
92
    }
93
}
94