Skip to content

Commit

Permalink
Adding test generation for controllers baked with ControllerTask::all()
Browse files Browse the repository at this point in the history
  • Loading branch information
markstory committed Jul 15, 2009
1 parent 80b9692 commit 1e8d019
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
5 changes: 4 additions & 1 deletion cake/console/libs/tasks/controller.php
Expand Up @@ -113,12 +113,15 @@ function all() {
$this->interactive = false; $this->interactive = false;
$this->listAll($this->connection, false); $this->listAll($this->connection, false);
ClassRegistry::config('Model', array('ds' => $this->connection)); ClassRegistry::config('Model', array('ds' => $this->connection));
$unitTestExists = $this->_checkUnitTest();
foreach ($this->__tables as $table) { foreach ($this->__tables as $table) {
$model = $this->_modelName($table); $model = $this->_modelName($table);
$controller = $this->_controllerName($model); $controller = $this->_controllerName($model);
if (App::import('Model', $model)) { if (App::import('Model', $model)) {
$actions = $this->bakeActions($controller); $actions = $this->bakeActions($controller);
$this->bake($controller, $actions); if ($this->bake($controller, $actions) && $unitTestExists) {
$this->bakeTest($controller);
}
} }
} }
} }
Expand Down
6 changes: 5 additions & 1 deletion cake/tests/cases/console/libs/tasks/controller.test.php
Expand Up @@ -104,6 +104,7 @@ function startTest() {
$this->Task->Template->params['theme'] = 'default'; $this->Task->Template->params['theme'] = 'default';
$this->Task->Model =& new ControllerMockModelTask($this->Task->Dispatch); $this->Task->Model =& new ControllerMockModelTask($this->Task->Dispatch);
$this->Task->Project =& new ControllerMockProjectTask($this->Task->Dispatch); $this->Task->Project =& new ControllerMockProjectTask($this->Task->Dispatch);
$this->Task->Test =& new ControllerMockTestTask();
} }


/** /**
Expand Down Expand Up @@ -368,7 +369,6 @@ function testBakeActionsWithNoSessions() {
function testBakeTest() { function testBakeTest() {
$this->Task->plugin = 'ControllerTest'; $this->Task->plugin = 'ControllerTest';
$this->Task->connection = 'test_suite'; $this->Task->connection = 'test_suite';
$this->Task->Test =& new ControllerMockTestTask();


$this->Task->Test->expectOnce('bake', array('Controller', 'Articles')); $this->Task->Test->expectOnce('bake', array('Controller', 'Articles'));
$this->Task->bakeTest('Articles'); $this->Task->bakeTest('Articles');
Expand Down Expand Up @@ -416,6 +416,10 @@ function testExecuteIntoAll() {
$this->Task->path = '/my/path/'; $this->Task->path = '/my/path/';
$this->Task->args = array('all'); $this->Task->args = array('all');


$this->Task->setReturnValue('createFile', true);
$this->Task->setReturnValue('_checkUnitTest', true);
$this->Task->Test->expectCallCount('bake', 1);

$filename = '/my/path/articles_controller.php'; $filename = '/my/path/articles_controller.php';
$this->Task->expectAt(0, 'createFile', array($filename, new PatternExpectation('/class ArticlesController/'))); $this->Task->expectAt(0, 'createFile', array($filename, new PatternExpectation('/class ArticlesController/')));


Expand Down

0 comments on commit 1e8d019

Please sign in to comment.