createDatabaseInterface(); DatabaseInterface::$instance = $dbi; $relationParameters = RelationParameters::fromArray([ RelationParameters::DATABASE => 'pmadb', RelationParameters::TRACKING => 'tracking', RelationParameters::TRACKING_WORK => true, ]); (new ReflectionProperty(Relation::class, 'cache'))->setValue(null, $relationParameters); $this->trackingChecker = new TrackingChecker( $dbi, new Relation($dbi), ); } public function testGetTrackedTables(): void { self::assertFalse(Tracker::isEnabled()); $actual = $this->trackingChecker->getTrackedTables('dummyDb'); self::assertSame([], $actual); Tracker::enable(); $expectation = [ 0 => new TrackedTable(TableName::from('0'), true), 'actor' => new TrackedTable(TableName::from('actor'), false), ]; $actual = $this->trackingChecker->getTrackedTables('dummyDb'); self::assertEquals($expectation, $actual); } public function testGetUntrackedTableNames(): void { self::assertFalse(Tracker::isEnabled()); $expectation = ['0', 'actor', 'untrackedTable']; $actual = $this->trackingChecker->getUntrackedTableNames('dummyDb'); self::assertSame($expectation, $actual); Tracker::enable(); $expectation = ['untrackedTable']; $actual = $this->trackingChecker->getUntrackedTableNames('dummyDb'); self::assertSame($expectation, $actual); } }