2

I am a beginner in unit testing in CakePHP. My version of CakePHP is 2.5.2 and I am using cake test suite 2.5.2. I want to do controller testing. I have tried all methods given in cookbook. I think this is too much complex code for given example in cookbook. I have customised routes for my application. I can invoke method showed below by calling : http://localhost/api/v1/networks/
This is the simplest method in my controller. How can i start testing on this method and what mocks should i need?

public function index() {
    if (!$this->request->is('Get')) {
        throw new MethodNotAllowedException(__('HTTP request Method Not allowed..'));
    }
    $networks = $this->Network->UserNetwork->getNetworks($this->current_user);
    $returnObject = array('message' => 'Networks found successfully',
        'data' => $networks
    );
    return $this->_sendResponse($returnObject, 200);
}  

what i have tried so far is:

<?php
App::uses('NetworksController', 'Controller');
class NetworksControllerTestCase extends ControllerTestCase {
    public $fixtures = array(
        'app.network',
    );

    public function setUp() {
        parent::setUp(); // TODO: Change the autogenerated stub
        $this->Network = $this->generate('Networks',
        array('models' => array('network','usernetwork' => array('getNetworks'))));
    }

    public function testIndex() {
        $result = $this->testAction('/api/v1/networks/index', array('return' => 'vars'));
        debug($result);
    }}

0 Answers0