public function MergeYamlTest::testMergeYaml in Database Sanitize 7
Tests for the MergeYaml class.
File
- vendor/
edisonlabs/ merge-yaml/ tests/ src/ Unit/ MergeYamlTest.php, line 65
Class
- MergeYamlTest
- Tests generation of merge-yaml.
Namespace
EdisonLabs\MergeYaml\UnitCode
public function testMergeYaml() {
$mergeYaml = new MergeYaml($this->fileNamePatterns, $this->sourcePaths, $this->outputDir);
$mergeYaml
->prepareOutputDir($this->outputDir);
$this
->assertDirectoryExists($this->outputDir);
$ymlFilesPaths = $mergeYaml
->getYamlFiles();
$this
->assertNotEmpty($ymlFilesPaths);
$this
->assertCount(1, $ymlFilesPaths);
$this
->assertArrayHasKey('test', $ymlFilesPaths);
$this
->assertCount(2, $ymlFilesPaths['test']);
$mergedYmlContent = $mergeYaml
->getMergedYmlContent($ymlFilesPaths['test']);
$parsedMergedYmlContent = Yaml::parse($mergedYmlContent);
$this
->assertArrayHasKey('item_1', $parsedMergedYmlContent);
$this
->assertArrayHasKey('item_2', $parsedMergedYmlContent);
$mergeYaml
->createMergeFiles();
$expectedMergedFiles = $this
->getExpectedMergedFiles();
foreach ($expectedMergedFiles as $expectedMergedFile) {
$this
->assertFileExists($expectedMergedFile);
$mergedYmlFileContent = file_get_contents($expectedMergedFile);
$this
->assertNotEmpty($mergedYmlFileContent);
$parsedMergedYmlFile = Yaml::parse($mergedYmlFileContent);
$this
->assertArrayHasKey('item_1', $parsedMergedYmlFile);
$this
->assertArrayHasKey('description', $parsedMergedYmlFile['item_1']);
$this
->assertArrayHasKey('value', $parsedMergedYmlFile['item_1']);
$this
->assertEquals('Item 1 description', $parsedMergedYmlFile['item_1']['description']);
$this
->assertEquals('Item 1 value', $parsedMergedYmlFile['item_1']['value']);
$this
->assertArrayHasKey('item_2', $parsedMergedYmlFile);
$this
->assertArrayHasKey('description', $parsedMergedYmlFile['item_2']);
$this
->assertArrayHasKey('value', $parsedMergedYmlFile['item_2']);
$this
->assertEquals('Item 2 description', $parsedMergedYmlFile['item_2']['description']);
$this
->assertEquals('Item 2 value', $parsedMergedYmlFile['item_2']['value']);
}
}