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); } } }