* @link http://www.netcommons.org NetCommons Project * @license http://www.netcommons.org/license.txt NetCommons License * @copyright Copyright 2014, NetCommons Project */ App::uses('NetCommonsControllerTestCase', 'NetCommons.TestSuite'); App::uses('WorkflowComponent', 'Workflow.Controller/Component'); /** * WorkflowControllerIndexTest * * @author Shohei Nakajima * @package NetCommons\Workflow\TestSuite */ abstract class WorkflowControllerIndexTest extends NetCommonsControllerTestCase { /** * indexアクションのテスト * * @param array $urlOptions URLオプション * @param array $assert テストの期待値 * @param string|null $exception Exception * @param string $return testActionの実行後の結果 * @dataProvider dataProviderIndex * @return void */ public function testIndex($urlOptions, $assert, $exception = null, $return = 'view') { //テスト実施 $url = Hash::merge(array( 'plugin' => $this->plugin, 'controller' => $this->_controller, 'action' => 'index', ), $urlOptions); $this->_testGetAction($url, $assert, $exception, $return); } /** * indexアクションのテスト(作成権限のみ) * * @param array $urlOptions URLオプション * @param array $assert テストの期待値 * @param string|null $exception Exception * @param string $return testActionの実行後の結果 * @dataProvider dataProviderIndexByCreatable * @return void */ public function testIndexByCreatable($urlOptions, $assert, $exception = null, $return = 'view') { //ログイン TestAuthGeneral::login($this, Role::ROOM_ROLE_KEY_GENERAL_USER); //テスト実施 $url = Hash::merge(array( 'plugin' => $this->plugin, 'controller' => $this->_controller, 'action' => 'index', ), $urlOptions); $this->_testGetAction($url, $assert, $exception, $return); //ログアウト TestAuthGeneral::logout($this); } /** * indexアクションのテスト(編集権限あり) * * @param array $urlOptions URLオプション * @param array $assert テストの期待値 * @param string|null $exception Exception * @param string $return testActionの実行後の結果 * @dataProvider dataProviderIndexByEditable * @return void */ public function testIndexByEditable($urlOptions, $assert, $exception = null, $return = 'view') { //ログイン TestAuthGeneral::login($this, Role::ROOM_ROLE_KEY_EDITOR); //テスト実施 $url = Hash::merge(array( 'plugin' => $this->plugin, 'controller' => $this->_controller, 'action' => 'index', ), $urlOptions); $this->_testGetAction($url, $assert, $exception, $return); //ログアウト TestAuthGeneral::logout($this); } }