-
Notifications
You must be signed in to change notification settings - Fork 238
/
ModelTest.php
59 lines (46 loc) · 1.58 KB
/
ModelTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
/**
* Lithium: the most rad php framework
*
* @copyright Copyright 2014, Union of RAD (http://union-of-rad.org)
* @license http://opensource.org/licenses/bsd-license.php The BSD License
*/
namespace lithium\tests\cases\console\command\create;
use lithium\console\command\create\Model;
use lithium\console\Request;
use lithium\core\Libraries;
class ModelTest extends \lithium\test\Unit {
public $request;
protected $_backup = array();
protected $_testPath = null;
public function skip() {
$this->_testPath = Libraries::get(true, 'resources') . '/tmp/tests';
$this->skipIf(!is_writable($this->_testPath), "Path `{$this->_testPath}` is not writable.");
}
public function setUp() {
$this->classes = array('response' => 'lithium\tests\mocks\console\MockResponse');
$this->_backup['cwd'] = getcwd();
$this->_backup['_SERVER'] = $_SERVER;
$_SERVER['argv'] = array();
Libraries::add('create_test', array('path' => $this->_testPath . '/create_test'));
$this->request = new Request(array('input' => fopen('php://temp', 'w+')));
$this->request->params = array('library' => 'create_test');
}
public function tearDown() {
$_SERVER = $this->_backup['_SERVER'];
chdir($this->_backup['cwd']);
$this->_cleanUp();
}
public function testClass() {
$this->request->params = array(
'command' => 'model', 'action' => 'Posts'
);
$model = new Model(array(
'request' => $this->request, 'classes' => $this->classes
));
$expected = 'Posts';
$result = $model->invokeMethod('_class', array($this->request));
$this->assertEqual($expected, $result);
}
}
?>