Failed Conditions
Push — master ( 36cd34...e25ade )
by
unknown
47:16 queued 16:37
created

DataImportMerchantBusinessTester   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 13
c 1
b 0
f 0
dl 0
loc 47
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getDataImportMerchantFileQuery() 0 3 1
A createValidDataImportMerchantFile() 0 7 1
A findDataImportMerchantEntity() 0 6 1
A ensureDataImportMerchantTablesAreEmpty() 0 4 1
1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerTest\Zed\DataImportMerchant;
9
10
use Codeception\Actor;
11
use Generated\Shared\DataBuilder\DataImportMerchantFileBuilder;
12
use Generated\Shared\DataBuilder\DataImportMerchantFileInfoBuilder;
13
use Generated\Shared\Transfer\DataImportMerchantFileTransfer;
14
use Orm\Zed\DataImportMerchant\Persistence\SpyDataImportMerchantFile;
15
use Orm\Zed\DataImportMerchant\Persistence\SpyDataImportMerchantFileQuery;
16
17
/**
18
 * @method void wantToTest($text)
19
 * @method void wantTo($text)
20
 * @method void execute($callable)
21
 * @method void expectTo($prediction)
22
 * @method void expect($prediction)
23
 * @method void amGoingTo($argumentation)
24
 * @method void am($role)
25
 * @method void lookForwardTo($achieveValue)
26
 * @method void comment($description)
27
 * @method \Codeception\Lib\Friend haveFriend($name, $actorClass = null)
28
 * @method \Spryker\Zed\DataImportMerchant\Business\DataImportMerchantFacadeInterface getFacade(?string $moduleName = null)
29
 * @method \Generated\Shared\Transfer\UserTransfer haveUser($seed = null)
30
 * @method \Generated\Shared\Transfer\MerchantTransfer haveMerchant(array $seed = [])
31
 *
32
 * @SuppressWarnings(\SprykerTest\Zed\DataImport\PHPMD)
33
 */
34
class DataImportMerchantBusinessTester extends Actor
35
{
36
    use _generated\DataImportMerchantBusinessTesterActions;
37
38
    /**
39
     * @param string|null $merchantReference
40
     * @param int|null $idUser
41
     *
42
     * @return \Generated\Shared\Transfer\DataImportMerchantFileTransfer
43
     */
44
    public function createValidDataImportMerchantFile(?string $merchantReference = null, ?int $idUser = null): DataImportMerchantFileTransfer
45
    {
46
        return (new DataImportMerchantFileBuilder())
47
            ->withFileInfo((new DataImportMerchantFileInfoBuilder())->build()->toArray())
48
            ->build()
49
            ->setIdUser($idUser ?? $this->haveUser()->getIdUserOrFail())
50
            ->setMerchantReference($merchantReference ?? $this->haveMerchant()->getMerchantReference());
51
    }
52
53
    /**
54
     * @param \Generated\Shared\Transfer\DataImportMerchantFileTransfer $dataImportMerchantFileTransfer
55
     *
56
     * @return \Orm\Zed\DataImportMerchant\Persistence\SpyDataImportMerchantFile
57
     */
58
    public function findDataImportMerchantEntity(
59
        DataImportMerchantFileTransfer $dataImportMerchantFileTransfer
60
    ): SpyDataImportMerchantFile {
61
        return $this->getDataImportMerchantFileQuery()
62
            ->filterByIdDataImportMerchantFile($dataImportMerchantFileTransfer->getIdDataImportMerchantFileOrFail())
63
            ->findOne();
64
    }
65
66
    /**
67
     * @return \Orm\Zed\DataImportMerchant\Persistence\SpyDataImportMerchantFileQuery
68
     */
69
    public function getDataImportMerchantFileQuery(): SpyDataImportMerchantFileQuery
70
    {
71
        return SpyDataImportMerchantFileQuery::create();
72
    }
73
74
    /**
75
     * @return void
76
     */
77
    public function ensureDataImportMerchantTablesAreEmpty(): void
78
    {
79
        $this->ensureDatabaseTableIsEmpty(
80
            $this->getDataImportMerchantFileQuery(),
81
        );
82
    }
83
}
84