mirror of
https://github.com/wintercms/winter.git
synced 2024-06-28 05:33:29 +02:00
Add tests for Import/Export models
This commit is contained in:
parent
54e06694da
commit
4e99ea6435
51
tests/unit/backend/models/ExportModelTest.php
Normal file
51
tests/unit/backend/models/ExportModelTest.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
use Backend\Models\ExportModel;
|
||||
|
||||
if (!class_exists('Model')) class_alias('October\Rain\Database\Model', 'Model');
|
||||
|
||||
class ExampleExportModel extends ExportModel
|
||||
{
|
||||
public function exportData($columns, $sessionKey = null)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
class ExportModelTest extends TestCase
|
||||
{
|
||||
|
||||
//
|
||||
// Helpers
|
||||
//
|
||||
|
||||
protected static function callProtectedMethod($object, $name, $params = [])
|
||||
{
|
||||
$className = get_class($object);
|
||||
$class = new ReflectionClass($className);
|
||||
$method = $class->getMethod($name);
|
||||
$method->setAccessible(true);
|
||||
return $method->invokeArgs($object, $params);
|
||||
}
|
||||
|
||||
//
|
||||
// Tests
|
||||
//
|
||||
|
||||
public function testEncodeArrayValue()
|
||||
{
|
||||
$model = new ExampleExportModel;
|
||||
$data = ['foo', 'bar'];
|
||||
$result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]);
|
||||
$this->assertEquals('foo|bar', $result);
|
||||
|
||||
$data = ['dps | heals | tank', 'paladin', 'berserker', 'gunner'];
|
||||
$result = self::callProtectedMethod($model, 'encodeArrayValue', [$data]);
|
||||
$this->assertEquals('dps \| heals \| tank|paladin|berserker|gunner', $result);
|
||||
|
||||
$data = ['art direction', 'roman empire', 'sci-fi'];
|
||||
$result = self::callProtectedMethod($model, 'encodeArrayValue', [$data, '-']);
|
||||
$this->assertEquals('art direction-roman empire-sci\-fi', $result);
|
||||
}
|
||||
|
||||
}
|
53
tests/unit/backend/models/ImportModelTest.php
Normal file
53
tests/unit/backend/models/ImportModelTest.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
use Backend\Models\ImportModel;
|
||||
|
||||
if (!class_exists('Model')) class_alias('October\Rain\Database\Model', 'Model');
|
||||
|
||||
class ExampleImportModel extends ImportModel
|
||||
{
|
||||
public $rules = [];
|
||||
|
||||
public function importData($results, $sessionKey = null)
|
||||
{
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
class ImportModelTest extends TestCase
|
||||
{
|
||||
|
||||
//
|
||||
// Helpers
|
||||
//
|
||||
|
||||
protected static function callProtectedMethod($object, $name, $params = [])
|
||||
{
|
||||
$className = get_class($object);
|
||||
$class = new ReflectionClass($className);
|
||||
$method = $class->getMethod($name);
|
||||
$method->setAccessible(true);
|
||||
return $method->invokeArgs($object, $params);
|
||||
}
|
||||
|
||||
//
|
||||
// Tests
|
||||
//
|
||||
|
||||
public function testDecodeArrayValue()
|
||||
{
|
||||
$model = new ExampleImportModel;
|
||||
$data = 'foo|bar';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]);
|
||||
$this->assertEquals(['foo', 'bar'], $result);
|
||||
|
||||
$data = 'dps \| heals \| tank|paladin|berserker|gunner';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data]);
|
||||
$this->assertEquals(['dps | heals | tank', 'paladin', 'berserker', 'gunner'], $result);
|
||||
|
||||
$data = 'art direction-roman empire-sci\-fi';
|
||||
$result = self::callProtectedMethod($model, 'decodeArrayValue', [$data, '-']);
|
||||
$this->assertEquals(['art direction', 'roman empire', 'sci-fi'], $result);
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user