Skip to content

Commit

Permalink
Add tests for OverrideConfigFromCLI step
Browse files Browse the repository at this point in the history
Contains 3 test cases (well-formed array, empty array, missing option)
  • Loading branch information
cyberbit committed Dec 30, 2016
1 parent 6e1a019 commit f6527b0
Showing 1 changed file with 63 additions and 0 deletions.
63 changes: 63 additions & 0 deletions tests/UnitTest/Module/Config/Step/OverrideConfigFromCLITest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php

namespace Couscous\Tests\UnitTest\Module\Config\Step;

use Couscous\Module\Config\Step\OverrideConfigFromCLI;
use Couscous\Tests\UnitTest\Mock\MockProject;
use Psr\Log\LoggerInterface;

/**
* @covers \Couscous\Module\Config\Step\OverrideConfigFromCLI
*/
class OverrideConfigFromCLITest extends \PHPUnit_Framework_TestCase
{
/**
* @test
*/
public function should_override_title_if_specified()
{
$project = new MockProject();
$project->metadata['title'] = 'foo';
$project->metadata['cliConfig'] = ['title=bar'];

$logger = $this->getMock("Psr\Log\LoggerInterface");

$step = new OverrideConfigFromCLI($logger);
$step->__invoke($project);

$this->assertEquals('bar', $project->metadata['title']);
}

/**
* @test
*/
public function should_not_override_title_if_not_specified()
{
$project = new MockProject();
$project->metadata['title'] = 'foo';
$project->metadata['cliConfig'] = [];

$logger = $this->getMock("Psr\Log\LoggerInterface");

$step = new OverrideConfigFromCLI($logger);
$step->__invoke($project);

$this->assertEquals('foo', $project->metadata['title']);
}

/**
* @test
*/
public function should_not_override_title_if_no_cliConfig()
{
$project = new MockProject();
$project->metadata['title'] = 'foo';

$logger = $this->getMock("Psr\Log\LoggerInterface");

$step = new OverrideConfigFromCLI($logger);
$step->__invoke($project);

$this->assertEquals('foo', $project->metadata['title']);
}
}

0 comments on commit f6527b0

Please sign in to comment.