Issues (3641)

...peningHoursDateScheduleDataImportPluginTest.php (1 issue)

1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerTest\Zed\MerchantOpeningHoursDataImport\Communication\Plugin;
9
10
use Codeception\Test\Unit;
11
use Generated\Shared\Transfer\DataImporterConfigurationTransfer;
12
use Generated\Shared\Transfer\DataImporterReaderConfigurationTransfer;
13
use Generated\Shared\Transfer\DataImporterReportTransfer;
14
use Spryker\Zed\MerchantOpeningHoursDataImport\Communication\Plugin\MerchantOpeningHoursDateScheduleDataImportPlugin;
15
use Spryker\Zed\MerchantOpeningHoursDataImport\MerchantOpeningHoursDataImportConfig;
16
17
/**
18
 * Auto-generated group annotations
19
 *
20
 * @group SprykerTest
21
 * @group Zed
22
 * @group MerchantOpeningHoursDataImport
23
 * @group Communication
24
 * @group Plugin
25
 * @group MerchantOpeningHoursDateScheduleDataImportPluginTest
26
 * Add your own group annotations below this line
27
 */
28
class MerchantOpeningHoursDateScheduleDataImportPluginTest extends Unit
29
{
30
    /**
31
     * @var string
32
     */
33
    public const MERCHANT_REFERENCE = 'merchant-opening-hours-data-import-test-reference';
34
35
    /**
36
     * @var \SprykerTest\Zed\MerchantOpeningHoursDataImport\MerchantOpeningHoursDataImportCommunicationTester
37
     */
38
    protected $tester;
39
40
    /**
41
     * @return void
42
     */
43
    protected function setUp(): void
44
    {
45
        parent::setUp();
46
47
        $this->tester->ensureMerchantOpeningHoursTablesIsEmpty();
48
    }
49
50
    /**
51
     * @return void
52
     */
53
    public function testImportImportsData(): void
54
    {
55
        // Arrange
56
        $merchantEntity = $this->tester->findMerchantByReference(static::MERCHANT_REFERENCE);
57
        if ($merchantEntity === null) {
58
            $this->tester->haveMerchant([
59
                'merchant_reference' => static::MERCHANT_REFERENCE,
60
            ]);
61
        }
62
63
        $dataImporterReaderConfigurationTransfer = (new DataImporterReaderConfigurationTransfer())
64
            ->setFileName(codecept_data_dir() . 'import/merchant_open_hours_date_schedule.csv');
0 ignored issues
show
The function codecept_data_dir was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

64
            ->setFileName(/** @scrutinizer ignore-call */ codecept_data_dir() . 'import/merchant_open_hours_date_schedule.csv');
Loading history...
65
66
        $dataImportConfigurationTransfer = new DataImporterConfigurationTransfer();
67
        $dataImportConfigurationTransfer->setReaderConfiguration($dataImporterReaderConfigurationTransfer);
68
69
        // Act
70
        $merchantOpeningHoursDateScheduleDataImportPlugin = new MerchantOpeningHoursDateScheduleDataImportPlugin();
71
        $dataImporterReportTransfer = $merchantOpeningHoursDateScheduleDataImportPlugin->import($dataImportConfigurationTransfer);
72
73
        // Assert
74
        $this->assertInstanceOf(DataImporterReportTransfer::class, $dataImporterReportTransfer);
75
        $this->tester->assertMerchantOpeningHoursDateScheduleDatabaseTablesContainsData();
76
    }
77
78
    /**
79
     * @return void
80
     */
81
    public function testGetImportTypeReturnsTypeOfImporter(): void
82
    {
83
        // Act
84
        $merchantOpeningHoursDateScheduleDataImportPlugin = new MerchantOpeningHoursDateScheduleDataImportPlugin();
85
86
        // Assert
87
        $this->assertSame(MerchantOpeningHoursDataImportConfig::IMPORT_TYPE_MERCHANT_OPENING_HOURS_DATE_SCHEDULE, $merchantOpeningHoursDateScheduleDataImportPlugin->getImportType());
88
    }
89
}
90