<?php
require __DIR__.'/oracle.php';$label=getenv('PM_CASE');$s=$source();$guard($s);$method=strpos($label,'show')===0?'show':'chart';$missing=strpos($label,'missing')!==false;$page=$label==='show_page2'?2:1;$params=$missing?[]:['staff_uuid'=>$fixture['staff']['uuid'],'page'=>(string)($label==='chart_page_ignored'?99:$page)];$body=$missing?['code'=>1,'message'=>$method==='show'?'请选择运动员':'查询失败']:$expected($s,$method,$page);$spec=['label'=>$label,'method'=>$method,'params'=>$params,'expected'=>$body];$save('private-spec.json',$spec);
require $root.'/application/base/Security.php';$actor=$s['actor'][0];$token=\app\base\Security::encrypt(implode("\t",[(string)$actor['id'],(string)$actor['uuid'],(string)$actor['account'],'0','','',(string)$actor['account']]));$tests=["pm.test('HTTP200',()=>pm.response.to.have.status(200));","const b=pm.response.json();","pm.test('exact business code and message',()=>{pm.expect(b.code).to.eql(".$body['code'].");pm.expect(b.message).to.eql(".json_encode($body['message'],JSON_UNESCAPED_UNICODE).");});","pm.test('full original source values shapes order count native JSON types',()=>pm.expect(b).to.deep.eql(".json_encode($body,JSON_UNESCAPED_UNICODE)."));"];
if(!$missing&&$label!=='show_page2')$tests[]=$method==='show'?"pm.test('MySQL seconds and native SMALLINT integer',()=>b.data.rows.forEach(r=>{pm.expect(r.create_time).to.match(/^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$/);pm.expect(r.energy_value).to.be.a('number');pm.expect(Number.isInteger(r.energy_value)).to.eql(true);}));":"pm.test('native FLOAT weight number and CHAR pbf text',()=>b.data.rows.forEach(r=>{pm.expect(r.weight).to.be.a('number');pm.expect(r.pbf).to.be.a('string');}));";
$item=['id'=>$label,'name'=>$label,'type'=>'http','metaInfo'=>['type'=>'HTTP'],'request'=>['method'=>'POST','header'=>[['key'=>'X-CDX-Case','value'=>$label],['key'=>'token','value'=>$token],['key'=>'Content-Type','value'=>'application/x-www-form-urlencoded']],'url'=>'http://127.0.0.1:'.($lane==='B'?18321:18322).'/p/weight/'.$method,'body'=>['mode'=>'urlencoded','urlencoded'=>array_map(static function($k,$v){return ['key'=>$k,'value'=>$v,'type'=>'text'];},array_keys($params),array_values($params))]],'event'=>[['listen'=>'test','script'=>['type'=>'text/javascript','exec'=>$tests]]]];$save('private-suite.json',['apifoxCli'=>'2.2.8','info'=>['name'=>'Weight bounded '.$lane.' '.$label],'item'=>[['name'=>'Pure read only marked fixture','item'=>[$item]]]]);echo json_encode(['lane'=>$lane,'case'=>$label,'method'=>$method]),"\n";
