<?php
|
/**
|
* PhpUnderControl_PhalApiModelNotORM_Test
|
*
|
* 针对 ../../PhalApi/Model/NotORM.php PhalApi_Model_NotORM 类的PHPUnit单元测试
|
*
|
* @author: dogstar 20150226
|
*/
|
|
require_once dirname(__FILE__) . '/../test_env.php';
|
|
if (!class_exists('PhalApi_Model_NotORM')) {
|
require dirname(__FILE__) . '/../../PhalApi/Model/NotORM.php';
|
}
|
|
class PhpUnderControl_PhalApiModelNotORM_Test extends PHPUnit_Framework_TestCase
|
{
|
public $phalApiModelNotORM;
|
|
protected function setUp()
|
{
|
parent::setUp();
|
$this->phalApiModelNotORM = new PhalApi_Model_NotORM_Tmp();
|
}
|
|
protected function tearDown()
|
{
|
}
|
|
|
/**
|
* @group testGet
|
*/
|
public function testGet()
|
{
|
$id = '1';
|
$fields = '*';
|
|
$rs = $this->phalApiModelNotORM->get($id, $fields);
|
|
$this->assertNotEmpty($rs);
|
|
$this->assertEquals('welcome here', $rs['content']);
|
}
|
|
/**
|
* @group testInsert
|
*/
|
public function testInsert()
|
{
|
$data = array('id' => 100, 'content' => 'phpunit', 'ext_data' => array('year' => 2015));
|
$id = NULL;
|
|
$rs = $this->phalApiModelNotORM->insert($data, $id);
|
|
$rs = $this->phalApiModelNotORM->get(100, 'content, ext_data');
|
|
$this->assertEquals('phpunit', $rs['content']);
|
$this->assertEquals(array('year' => 2015), $rs['ext_data']);
|
}
|
|
/**
|
* @group testUpdate
|
* @depends testInsert
|
*/
|
public function testUpdate()
|
{
|
$id = '100';
|
$data = array('content' => 'phpunit2', 'ext_data' => array('year' => 2020));
|
|
$this->phalApiModelNotORM->update($id, $data);
|
|
$rs = $this->phalApiModelNotORM->get($id, 'content, ext_data');
|
|
$this->assertEquals('phpunit2', $rs['content']);
|
$this->assertEquals(array('year' => 2020), $rs['ext_data']);
|
}
|
|
/**
|
* @group testDelete
|
*/
|
public function testDelete()
|
{
|
$id = '100';
|
|
$rs = $this->phalApiModelNotORM->delete($id);
|
}
|
|
/**
|
* @dataProvider provideDefaultTableData
|
*/
|
public function testDefaultTable($tableName, $tableClass)
|
{
|
$model = new $tableClass();
|
$this->assertEquals($tableName, $model->getTableName(null));
|
}
|
|
public function provideDefaultTableData()
|
{
|
return array(
|
array('defaulttable', 'Model_DefaultTable'),
|
array('default_table', 'Model_Default_Table'),
|
array('default_table', 'Demo_Model_Default_Table'),
|
array('model_default_table', 'Model_Model_Default_Table'),
|
array('wtf_table', 'WTF_Table'),
|
);
|
}
|
}
|
|
class PhalApi_Model_NotORM_Tmp extends PhalApi_Model_NotORM {
|
|
protected function getTableName($id = NULL) {
|
return 'tmp';
|
}
|
}
|
|
class PhalApi_Model_NotORM_Test extends PhalApi_Model_NotORM {
|
|
public function getTableName($id) {
|
return parent::getTableName($id);
|
}
|
}
|
|
class Model_DefaultTable extends PhalApi_Model_NotORM_Test {
|
}
|
|
class Model_Default_Table extends PhalApi_Model_NotORM_Test {
|
}
|
|
class Demo_Model_Default_Table extends PhalApi_Model_NotORM_Test {
|
}
|
|
class Model_Model_Default_Table extends PhalApi_Model_NotORM_Test {
|
}
|
|
class WTF_Table extends PhalApi_Model_NotORM_Test {
|
}
|