Alvaro
Alvaro

Reputation: 41605

How to pass parameters with testAction in CakePHP2.0

I want to test a function with this header:

public function includeNumComments($posts){

Where $post is an array of data.

I wonder how can i test the method passing it an array of posts.

I have tried things like this, but it doesn't work:

$result = $this->testAction("/comments/includeNumComments/", array('data' => $posts));

$result = $this->testAction("/comments/includeNumComments/", array($posts));

Thanks

Upvotes: 0

Views: 646

Answers (2)

Ankit Vij
Ankit Vij

Reputation: 274

Here's the correct case, it worked for me. Hope it helps:

public function testAddUser() {
    $data = array(
        'User' => array(
            'id' => 12,
            'username' => 'testname1',
            'password' => 'Pass@123!',
            'email' => '[email protected]'
        )
    );
    $result = $this->testAction(
        '/users/add',
        array('data' => $data, 'method' => 'post')
    );
    debug($result);

}

Upvotes: 2

jeremyharris
jeremyharris

Reputation: 7882

That's not really using testAction then, because you can't pass an array via HTTP. There'd be no way to do this via a form or link on a website.

You can just test it as a normal function:

$result = $this->CommentsController->includeNumComments($posts);

Upvotes: 1

Related Questions