protected function login() { $admin = $this->app->createModel('admin', array('name' => 'Admin', 'email' => '*****@*****.**', 'password' => 'lepass', 'password_confirmation' => 'lepass', 'status' => Admin::STATUS_ACTIVE)); R::store($admin); $params = array('email' => '*****@*****.**', 'password' => 'lepass'); // This is the code to emulate sending parameter to a page: $this->app->runControllerFromRawUrl('admin/loginProcess', $params); // This is the alternative way we can do it: // $controller = $this->app->getController('Admin\\Admins', 'loginProcess'); // $controller->setParams($params); // $controller->runCurrentAction(); $this->assertEquals(1, $this->app->getSession()->get('adminId')); }