You are here

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\Unit

Code

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