| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | 
							- <?php
 
- /**
 
-  * Created by PhpStorm.
 
-  * User: zhengmingwei
 
-  * Date: 2020/5/3
 
-  * Time: 9:03 PM
 
-  */
 
- namespace addons\unishop\extend;
 
- use addons\unishop\controller\User;
 
- use think\Config;
 
- use think\exception\HttpResponseException;
 
- use think\Request;
 
- use think\Response;
 
- trait PhpunitFunctionCustomize
 
- {
 
-     /**
 
-      * 测试账户
 
-      * @var string
 
-      */
 
-     static $username = 'unishop';
 
-     static $mobile = '11111511115';
 
-     static $password = '123456';
 
-     /**
 
-      * 短信动作
 
-      * @var string
 
-      */
 
-     static $smsCode = '1111';
 
-     protected $eventRegister = 'register'; // 注册
 
-     protected $eventReserpwd = 'resetpwd'; // 重置密码
 
-     /**
 
-      * 访问本地接口
 
-      * @param $class
 
-      * @param string $action
 
-      * @return array
 
-      */
 
-     public function request($class, $action = 'index', $params = [], $method = 'POST')
 
-     {
 
-         $data = [];
 
-         if (!empty($class)) {
 
-             $header = $get = $post = [];
 
-             if (!empty($params['header'])) {
 
-                 $header = $params['header'];
 
-                 unset($params['header']);
 
-             }
 
-             $method = strtolower($method);
 
-             $params['millisecond'] = 0;
 
-             switch ($method) {
 
-                 case 'get':
 
-                     $get = $params;
 
-                     break;
 
-                 case 'post':
 
-                     $post = $params;
 
-                     break;
 
-             }
 
-             try {
 
-                 $data = [];
 
-                 Request::destroy();
 
-                 $controller = strtolower(substr($class, strrpos($class, '\\') + 1));
 
-                 $request = Request::instance([
 
-                     'route' => [
 
-                         'addon' => 'unishop',
 
-                         'controller' => $controller,
 
-                         'action' => $action
 
-                     ],
 
-                     'controller' => $controller,
 
-                     'action' => $action,
 
-                     'get' => $get,
 
-                     'post' => $post,
 
-                     'request' => $params,
 
-                     'header' => $header
 
-                 ]);
 
-                 $obj = new $class($request);
 
-                 $obj->$action();
 
-             } catch (HttpResponseException $e) {
 
-                 $data = $e->getResponse();
 
-             }
 
-         }
 
-         // 输出数据到客户端
 
-         if ($data instanceof Response) {
 
-             $response = $data;
 
-         } elseif (!is_null($data)) {
 
-             // 默认自动识别响应输出类型
 
-             $type = $request->isAjax() ?
 
-                 Config::get('default_ajax_return') :
 
-                 Config::get('default_return_type');
 
-             $response = Response::create($data, $type);
 
-         } else {
 
-             $response = Response::create();
 
-         }
 
-         return $response->getData();
 
-     }
 
-     /**
 
-      * 模拟用户登录
 
-      */
 
-     public function userLogin()
 
-     {
 
-         $contents = $this->request(User::class, 'login',[
 
-             'mobile' => self::$mobile,
 
-             'password' => self::$password
 
-         ]);
 
-         if ($contents['code'] == 0) {
 
-             // 模拟发送短信
 
-             \app\common\model\Sms::create(['event' => $this->eventRegister, 'mobile' => self::$mobile, 'code' => self::$smsCode, 'ip' => 'phpunit', 'createtime' => time()]);
 
-             $this->request(User::class, 'register', [
 
-                 'captcha' => self::$smsCode,
 
-                 'mobile' => self::$mobile,
 
-                 'password' => self::$password,
 
-                 'username' => self::$username
 
-             ]);
 
-             $contents = $this->request(User::class, 'login',[
 
-                 'mobile' => self::$mobile,
 
-                 'password' => self::$password
 
-             ]);
 
-         }
 
-         return $contents;
 
-     }
 
- }
 
 
  |