Skip to content

Instantly share code, notes, and snippets.

@VaclavSir
Forked from MichalKalita/CategoryTest.phpt
Last active December 22, 2015 05:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save VaclavSir/6421397 to your computer and use it in GitHub Desktop.
Save VaclavSir/6421397 to your computer and use it in GitHub Desktop.
<?php
namespace Test;
use Nette,
Tester,
Tester\Assert,
AdminModule;
$container = require __DIR__ . '/../../bootstrap.php';
class AdminModelCategory_add_Test extends Tester\TestCase
{
/** @var Nette\DI\Container */
private $container;
/** @var AdminModule\Model\Category */
private $model;
/** @var Nette\Database\SelectionFactory */
private $database;
function __construct(Nette\DI\Container $container)
{
$this->container = $container;
$this->model = $container->getByType('AdminModule\Model\Category');
$this->database = $container->getByType('Nette\Database\SelectionFactory');
}
function setUp()
{
Tester\Helpers::lock('db', dirname(TEMP_DIR));
$this->database->table('category')->delete();
$this->database->table('category_translate')->delete();
$this->database->table('language')->delete();
$this->database->table('language')->insert(array('id' => 1, 'code' => 'en', 'name' => 'english', 'numbers' => '1,2'));
$insertData = array(
'parent' => NULL,
'priority' => 0,
'names' => array(
1 => "Category 1",
)
);
$this->model->add($insertData);
}
function testAddsCategoryWithoutParent()
{
$category = $this->database->table('category')->fetch();
Assert::same(NULL, $category->parent);
}
function testAddsCategoryWithZeroPriority()
{
$category = $this->database->table('category')->fetch();
Assert::same(0, $category->priority);
}
function testAddsCategoryInFirstLevel()
{
$category = $this->database->table('category')->fetch();
Assert::same(1, $category->level);
}
function testAddedCategoryHasOneLeft()
{
$category = $this->database->table('category')->fetch();
Assert::same(1, $category->left);
}
function testAddedCategoryHasTwoRight()
{
$category = $this->database->table('category')->fetch();
Assert::same(2, $category->right);
}
function testAddsTranslationToFirstLanguage()
{
$translate = $this->database->table('category_translate')->fetch();
Assert::same(1, $translate->language_id);
}
function testAddedTranslationHasDesiredValue()
{
$translate = $this->database->table('category_translate')->fetch();
Assert::same('Category 1', $translate->name);
}
}
id(new AdminModelCategoryTest($container))->run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment