public function testIndexアクションではページングの結果がpostsにセットされること() { $post = Fabricate::build('Post'); $this->controller->Paginator->expects($this->once())->method('paginate')->will($this->returnValue($post->data)); $vars = $this->testAction('/user/blog', ['method' => 'get', 'return' => 'vars']); $this->assertEquals($post->data, $vars['posts']); }
/** * @dataProvider exampleValidationErrors */ public function testバリデーションエラー($column, $value, $message) { // $default = ['title'=>'タイトル','body'=>'本文']; // $this->Post->create(array_merge($default,[$column=>$value])); $post = Fabricate::build('Post', [$column => $value]); $this->assertFalse($post->validates()); $this->assertEquals([$message], $this->Post->validationErrors[$column]); }
public function testIndexアクションではページングの結果がpostsにセットされること() { // $data = [ // ['Posts'=>['id'=>1,'title'=>'Title1', 'body'=>'Body1']], // ]; $post = Fabricate::build('Post'); $this->controller->Paginator->expects($this->once())->method('paginate')->will($this->returnValue($post->data)); //paginateメソッドが返す値を$dataに設定。 //テスト実行 testActionはcakephpのメソッド /user/blogにアクセスする。/hoge/fugaでもいい。te $vars = $this->testAction('/user/blog', ['method' => 'get', 'return' => 'vars']); //9 //return => varsのところの補足 /* vars:set()メソッドを使ってビューに渡された値を返却する、という意味 view: レイアウトを覗いた部分のhtmlを返却 contents: レイアウトを含めたhtmlを返却 result: アクションがhtml描画でなく、returnで終了する場合の戻り値 */ $this->assertEquals($post->data, $vars['posts']); }
/** * @dataProvider exampleValidationErrors */ public function testバリデーションエラー($column, $value, $message) { $post = Fabricate::build('Post', [$column => $value]); $this->assertFalse($post->validates()); $this->assertEquals([$message], $this->Post->validationErrors[$column]); }