Skip to content

Commit

Permalink
tests
Browse files Browse the repository at this point in the history
  • Loading branch information
matronator committed May 19, 2023
1 parent db1dfc7 commit b92e1d3
Show file tree
Hide file tree
Showing 5 changed files with 137 additions and 8 deletions.
4 changes: 2 additions & 2 deletions tests/Store/PathTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

declare(strict_types=1);

require __DIR__ . '/../bootstrap.php';

namespace Matronator\Mtrgen\Tests\Store;

require __DIR__ . '/../bootstrap.php';

use Matronator\Mtrgen\Store\Path;
use Tester\Assert;
use Tester\TestCase;
Expand Down
125 changes: 121 additions & 4 deletions tests/Store/StorageTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,138 @@

declare(strict_types=1);

require __DIR__ . '/../bootstrap.php';

namespace Matronator\Mtrgen\Tests\Store;

require __DIR__ . '/../bootstrap.php';

use Matronator\Mtrgen\Store\Path;
use Matronator\Mtrgen\Store\Storage;
use Tester\Assert;
use Tester\TestCase;

class StorageTest extends TestCase
{
/**
* @var Storage
*/
private $storage;

/**
* Set up test environment.
*/
protected function setUp(): void
{
$this->storage = new Storage();
}

public function testStorage()
{
$storage = new Storage;
Assert::true(file_exists($this->storage->store), 'Store file exists');
}

/**
* Test save method.
*/
public function testSave(): void
{
$filePath = __DIR__ . '/../templates/test.template.yaml';
Assert::true($this->storage->save($filePath));
}

/**
* Test save method with alias.
*/
public function testSaveWithAlias(): void
{
$filePath = __DIR__ . '/../templates/test.template.yaml';
$alias = 'test-alias';
Assert::true($this->storage->save($filePath, $alias));
}

Assert::true(file_exists($storage->store), 'Store file exists');
/**
* Test save method with bundle.
*/
public function testSaveWithBundle(): void
{
$filePath = __DIR__ . '/../templates/test-bundle/test.template.yaml';
$bundle = 'test-bundle';
Assert::true($this->storage->save($filePath, null, $bundle));
}

/**
* Test save bundle method.
*/
public function testSaveBundle(): void
{
$bundle = (object) [
'name' => 'test-bundle',
'templates' => [
(object) [
'name' => 'test.template.yaml',
'content' => 'test content'
]
]
];

Assert::true($this->storage->saveBundle($bundle));
}

/**
* Test get content method.
*/
public function testGetContent(): void
{
$expectedContent = <<<TEST
name: test-template
filename: <%name%>Entity
path: app/model/Database/Entity
file:
class:
name: <%name%>Entity
TEST;
Assert::equal($expectedContent, $this->storage->getContent("test-template"));
}

/**
* Test load method.
*/
public function testLoad(): void
{
$templateName = 'test.template.yaml';
$expected = (object) [
'filename' => "$templateName",
'contents' => "name: test-template\nfilename: <%name%>Entity\npath: app/model/Database/Entity\nfile:\n class:\n name: <%name%>Entity\n"
];
Assert::equal($expected, $this->storage->load("test-template"));
}

/**
* Test get filename method.
*/
public function testGetFilename(): void
{
$templateName = 'test.template.yaml';
$expectedFilename = "$templateName";
Assert::equal($expectedFilename, $this->storage->getFilename("test-template"));
}

/**
* Test get full path method.
*/
public function testGetFullPath(): void
{
$templateName = 'test.template.yaml';
$expectedFullPath = Path::canonicalize('~/.mtrgen/templates/test.template.yaml');
Assert::equal($expectedFullPath, $this->storage->getFullPath("test-template"));
}

/**
* Test remove method.
*/
public function testRemove(): void
{
Assert::true($this->storage->remove("test-template"));
}
}

Expand Down
4 changes: 2 additions & 2 deletions tests/Template/GeneratorTest.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

declare(strict_types=1);

require __DIR__ . '/../bootstrap.php';

namespace Matronator\Mtrgen\Tests\Template;

require __DIR__ . '/../bootstrap.php';

use Matronator\Mtrgen\Template\Generator;
use Tester\Assert;
use Tester\TestCase;
Expand Down
6 changes: 6 additions & 0 deletions tests/templates/test-bundle/test.template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: test-template-bundle
filename: <%name%>Entity
path: app/model/Database/Entity
file:
class:
name: <%name%>Entity
6 changes: 6 additions & 0 deletions tests/templates/test.template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: test-template
filename: <%name%>Entity
path: app/model/Database/Entity
file:
class:
name: <%name%>Entity

0 comments on commit b92e1d3

Please sign in to comment.