53 lines
2.4 KiB
PHP
53 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace Tests\Unit\EcommerceFinance;
|
|
|
|
use Modules\EcommerceFinance\Repositories\ProductCatalogMirrorRepository;
|
|
use Modules\EcommerceFinance\Services\BusinessMirrorDatasetRegistry;
|
|
use Tests\TestCase;
|
|
|
|
class WorkPlatformPriceConfigTest extends TestCase
|
|
{
|
|
public function test_work_platform_price_dataset_is_wired_to_the_read_only_source(): void
|
|
{
|
|
$dataset = (new BusinessMirrorDatasetRegistry())->get(
|
|
ProductCatalogMirrorRepository::WORK_PLATFORM_PRICE_DATASET_KEY,
|
|
);
|
|
|
|
$this->assertSame('jiansun.dbo.pm_priceAdjustment', $dataset->key());
|
|
$this->assertSame('jiansun', $dataset->sourceKey());
|
|
$this->assertSame('dbo', $dataset->sourceSchema());
|
|
$this->assertSame('pm_priceAdjustment', $dataset->sourceObject());
|
|
$this->assertSame('js_pm_price_adjustment', $dataset->targetTable());
|
|
$this->assertSame(['Id'], $dataset->keyColumns());
|
|
$this->assertNull($dataset->watermarkColumn());
|
|
$this->assertContains(['skuCode', 'effectTime', 'Id'], $dataset->indexDefinitions());
|
|
|
|
$selection = array_map('strtolower', (new BusinessMirrorDatasetRegistry())->columnSelection($dataset->key()) ?? []);
|
|
foreach (['id', 'skucode', 'purchaseprice', 'effecttime'] as $column) {
|
|
$this->assertContains($column, $selection);
|
|
}
|
|
}
|
|
|
|
public function test_price_change_dataset_is_wired_to_the_read_only_source(): void
|
|
{
|
|
$dataset = (new BusinessMirrorDatasetRegistry())->get(
|
|
ProductCatalogMirrorRepository::PRICE_CHANGE_DATASET_KEY,
|
|
);
|
|
|
|
$this->assertSame('jiansun.dbo.pm_priceAdjustment_log', $dataset->key());
|
|
$this->assertSame('jiansun', $dataset->sourceKey());
|
|
$this->assertSame('dbo', $dataset->sourceSchema());
|
|
$this->assertSame('pm_priceAdjustment_log', $dataset->sourceObject());
|
|
$this->assertSame('js_pm_price_adjustment_log', $dataset->targetTable());
|
|
$this->assertSame(['Id'], $dataset->keyColumns());
|
|
$this->assertNull($dataset->watermarkColumn());
|
|
$this->assertContains(['skucode', 'effectStartTime', 'Id'], $dataset->indexDefinitions());
|
|
|
|
$selection = array_map('strtolower', (new BusinessMirrorDatasetRegistry())->columnSelection($dataset->key()) ?? []);
|
|
foreach (['id', 'skucode', 'pricetype', 'originalprice', 'afterprice', 'diffprice', 'effectstarttime'] as $column) {
|
|
$this->assertContains($column, $selection);
|
|
}
|
|
}
|
|
}
|