WebTest.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. <?php
  2. namespace Tests\Routes;
  3. use App\User;
  4. use Illuminate\Support\Str;
  5. use Tests\TestCase;
  6. class WebTest extends TestCase
  7. {
  8. const PARAM = 1;
  9. const GET = [
  10. "/home",
  11. "/homeTemp",
  12. "password/change",
  13. "password/update",
  14. "maintenance/commodity/import",
  15. "maintenance/owners/recycle",
  16. "maintenance/paperBox/index/model",
  17. "maintenance/paperBox/index/owner",
  18. "maintenance/paperBox/excel/goImport",
  19. "maintenance/waybillPriceModel/excel/goImport",
  20. "maintenance/waybillPriceModel/cities/".self::PARAM,
  21. "maintenance",
  22. "waybill/relating",
  23. "waybill/recycle",
  24. "waybill/index",
  25. "waybill/delivering",
  26. "rejected/relating",
  27. "rejected/recycle",
  28. "rejected/import",
  29. "package/weightExcepted/indexCreate",
  30. "package/weightExcepted/indexIssued",
  31. "package/statistics",
  32. "package/relating",
  33. "store",
  34. "process/relating",
  35. "process/statistic",
  36. "process/recycle",
  37. "personnel/checking-in/userDutyCheck/importAndExportClock",
  38. "personnel/checking-in/userDutyCheck/clock",
  39. "personnel/checking-in/userDutyCheck/createUserDetail/".self::PARAM,
  40. "personnel/checking-in/userDutyCheck/updateUserLaborCompanies/".self::PARAM,
  41. "personnel/checking-in/goGetQRCode",
  42. "personnel/checking-in/QRCode",
  43. "personnel/checking-in/importAndExportQRCode",
  44. "personnel/checking-in/createReplenishClock",
  45. "personnel/checking-in/clockAudit",
  46. "personnel/checking-in/missionAudit",
  47. "personnel/relating",
  48. "getLaborReport",
  49. "inventory/statement/changeInventory/downLoadExcel",
  50. "inventory/statement/changeInventory",
  51. "inventory/statement/allInventory",
  52. "inventory/statement/dailyLog",
  53. "inventory/statement/inventoryCompare",
  54. "inventory/stockInventory/mission",
  55. "inventory/syncOwners",
  56. "inventory/完结盘点任务/".self::PARAM,
  57. "order/wave/index",
  58. "order/issue/workLoad/index",
  59. "order/issue/orderIssuePerformance/index",
  60. "order/issue/index",
  61. "order/issue/create",
  62. "order/issue/excelImport",
  63. "order/issue/edit/".self::PARAM,
  64. "order/tracking/index",
  65. "order/tracking/export",
  66. "order/tracking/update",
  67. ];
  68. const POST = [
  69. "maintenance/commodity/import/excel",
  70. "maintenance/tutorial/showContent/".self::PARAM,
  71. "maintenance/userLabor/getWorkRecord",
  72. "maintenance/userLabor/getClockRecord",
  73. "maintenance/userLabor/relieve",
  74. "maintenance/paperBox/excel/import",
  75. "waybill/ontop/top",
  76. "waybill/ontop/cancel",
  77. "waybill/is/waybillPriceModel",
  78. "waybill/deleteImg",
  79. "waybill/upload",
  80. "waybill/refreshWaveHouseWeight",
  81. "waybill/storeCarrierBill",
  82. "waybill/addCounty",
  83. "waybillPriceModel/excel/import",
  84. "rejectedBill/".self::PARAM."/edit",
  85. "rejected/import/excel",
  86. "rejected/analyze/exportExcelOnParams",
  87. "rejected/analyze/exportAllExcelOnParams",
  88. "rejected/ajaxCheck",
  89. "rejected/ajaxCheckAll",
  90. "rejected/ajaxFinishAll",
  91. "rejected/ajaxGetRejected",
  92. //"package/measureMonitor/data",
  93. "process/getDailyParticipant",
  94. "process/reject/".self::PARAM,
  95. "process/receive/".self::PARAM,
  96. "process/accomplish",
  97. "process/updateDailyOutput",
  98. "process/storeProcessDailyParticipant",
  99. "process/verifyUserName",
  100. "process/updateProcessDailyParticipant",
  101. "process/processDailyParticipantAudit/".self::PARAM,
  102. "process/getTutorials/".self::PARAM,
  103. "process/selectedTutorial",
  104. "process/deleteTutorial",
  105. "process/ownerGetTutorials/".self::PARAM,
  106. "process/rollback",
  107. "process/recover",
  108. "process/audit",
  109. "process/processAccomplish",
  110. "process/checkAndAccept",
  111. "process/updateUnitPrice",
  112. "process/workGroupVerify",
  113. "process/accountantVerify",
  114. "process/updateStartDate",
  115. "process/updateEndDate",
  116. "process/importPasteData",
  117. "process/deleteProcessContent/".self::PARAM,
  118. "personnel/checking-in/userDutyCheck/storeClock",
  119. "personnel/checking-in/userDutyCheck/绑定临时工并进组",
  120. "personnel/checking-in/userDutyCheck/importGroupClock",
  121. "personnel/checking-in/userDutyCheck/storeUserDetail",
  122. "personnel/checking-in/userDutyCheck/storeUpdateUserLaborCompanies",
  123. "personnel/checking-in/refreshQRCode",
  124. "personnel/checking-in/checkUserLabors",
  125. "personnel/checking-in/storeReplenishClock",
  126. "personnel/checking-in/storeClockAudit",
  127. "personnel/checking-in/updateDutyCheckType",
  128. "personnel/checking-in/storeGroupAudit",
  129. "personnel/checking-in/isException",
  130. "personnel/checking-in/storeMissionAudit",
  131. "laborReport/guardClockAudit",
  132. "laborReport/groupClockAudit",
  133. "laborReport/addRemarkAndGroupClock",
  134. "laborReport/groupExport",
  135. "laborReport/groupExportEnsure",
  136. "inventory/statement/changeInventory/deleteExcel",
  137. "inventory/statement/dailyLog/getLoggingOwner",
  138. "inventory/statement/dailyLog/addLoggingOwner",
  139. "inventory/stockInventory/createStockInventoryMission",
  140. "inventory/inventoryCompare/import/excel",
  141. "inventory/修改质量状态",
  142. "inventory/增加系统之外的库位记录",
  143. "inventory/盘点选中任务",
  144. "inventory/stockInventoryEnd",
  145. "inventory/searchStockInventoryRecord",
  146. "order/create/batchComments",
  147. "order/wave/cancelPrinting",
  148. "order/issue/store",
  149. "order/issue/batchImport",
  150. "order/freeze",
  151. "order/freezeAll",
  152. "order/thaw",
  153. "order/deAllocation",
  154. "order/deAllocationAll",
  155. "order/resetLogisticsGetMark",
  156. ];
  157. const PUT = [
  158. ];
  159. const DELETE = [
  160. "process/destroyDailyParticipant/".self::PARAM,
  161. ];
  162. const RESTFUL = [
  163. "maintenance/log",
  164. "maintenance/user",
  165. "maintenance/role",
  166. "maintenance/authority",
  167. "maintenance/owner",
  168. "maintenance/logistic",
  169. "maintenance/qualityLabel",
  170. "maintenance/carrier",
  171. "maintenance/carType",
  172. "maintenance/unit",
  173. "maintenance/province",
  174. "maintenance/city",
  175. "maintenance/commodity",
  176. "maintenance/measuringMachine",
  177. "maintenance/userWorkgroup",
  178. "maintenance/laborCompany",
  179. "maintenance/warehouse",
  180. "maintenance/jobType",
  181. "maintenance/tutorial",
  182. "maintenance/userLabor",
  183. "maintenance/paperBox",
  184. "maintenance/waybillPriceModel",
  185. "waybill/waybillFinancialSnapshot",
  186. "waybill/waybillFinancialExcepted",
  187. "waybill",
  188. "rejectedBill",
  189. "rejected",
  190. "package/measureMonitor",
  191. "package",
  192. "store/fast",
  193. "store/storeItem",
  194. "process",
  195. "personnel/laborReport",
  196. ];
  197. const ANY = [
  198. "waybill/deliveringExport",
  199. "waybill/waybillAudit",
  200. "waybill/waybillEdit/".self::PARAM,
  201. "waybill/waybillRetreatAudit",
  202. "waybill/waybillEndAudit",
  203. "waybill/export",
  204. "waybill/waybillUpdate/".self::PARAM,
  205. "waybillFinancialSnapshot/export",
  206. "rejected/index/general",
  207. "rejected/index/analyze",
  208. "rejected/exportAnalyze",
  209. "rejected/export",
  210. //"package/measureMonitor/speech",
  211. "package/statistics/export",
  212. "package/weightExcepted/export/".self::PARAM,
  213. "package/export",
  214. "process/statistic/export",
  215. "process/export",
  216. "laborReport/export",
  217. "inventory/statement/changeInventory/export",
  218. "inventory/statement/allInventory/export",
  219. "inventory/statement/dailyLog/export",
  220. "inventory/stockInventory/enterStockInventory/".self::PARAM,
  221. "inventory/删除盘点记录",
  222. "inventory/deleteStockInventoryMission/".self::PARAM,
  223. "inventory/stockInventoryExport",
  224. "inventory/stockInventory",
  225. "order/index/delivering",
  226. "order/wave/exportExcel",
  227. "order/issue/workLoad/export",
  228. "order/issue/orderIssuePerformance/export",
  229. ];
  230. const MATCH = [
  231. "order/issue/export" => ['get','post'],
  232. ];
  233. public function testRoutes(){
  234. /* $superAdmin = config('users.superAdmin');
  235. $user = User::query()->where('name',$superAdmin[0])->first();
  236. if (!$user){
  237. $user = User::query()->create([
  238. 'name' => $superAdmin[0],
  239. 'email' => "test@example.com",
  240. 'password' => "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi",
  241. 'remember_token' => Str::random(10),
  242. ]);
  243. }*/
  244. $getMethod = self::GET;
  245. $postMethod = self::POST;
  246. $putMethod = self::PUT;
  247. $deleteMethod = self::DELETE;
  248. foreach (self::MATCH as $route => $methods){
  249. foreach ($methods as $method){
  250. if ($method == 'get'){
  251. array_push($getMethod,$route);
  252. }
  253. if ($method == 'post'){
  254. array_push($postMethod,$route);
  255. }
  256. if ($method == 'put'){
  257. array_push($putMethod,$route);
  258. }
  259. if ($method == 'delete'){
  260. array_push($deleteMethod,$route);
  261. }
  262. }
  263. }
  264. foreach (self::ANY as $route){
  265. array_push($getMethod,$route);
  266. array_push($postMethod,$route);
  267. array_push($putMethod,$route);
  268. array_push($deleteMethod,$route);
  269. }
  270. foreach (self::RESTFUL as $route){
  271. array_push($getMethod,$route);
  272. array_push($getMethod,$route.'/'.self::PARAM);
  273. array_push($getMethod,$route.'/create');
  274. array_push($postMethod,$route);
  275. array_push($getMethod,$route.'/'.self::PARAM.'/edit');
  276. array_push($putMethod,$route.'/'.self::PARAM);
  277. array_push($deleteMethod,$route.'/'.self::PARAM);
  278. }
  279. /** @var User $user */
  280. foreach ($getMethod as $url){
  281. $response = $this/*->actingAs($user)*/->get($url);
  282. if ($response->getStatusCode() == 404)echo $url."\n";
  283. $this->assertNotEquals($response->getStatusCode(),404);
  284. }
  285. /** @var User $user */
  286. foreach ($postMethod as $url){
  287. $response = $this/*->actingAs($user)*/->post($url);
  288. if ($response->getStatusCode() == 404)echo $url."\n";
  289. $this->assertNotEquals($response->getStatusCode(),404);
  290. }
  291. /** @var User $user */
  292. foreach ($putMethod as $url){
  293. $response = $this/*->actingAs($user)*/->put($url);
  294. if ($response->getStatusCode() == 404)echo $url."\n";
  295. $this->assertNotEquals($response->getStatusCode(),404);
  296. }
  297. /** @var User $user */
  298. foreach ($deleteMethod as $url){
  299. $response = $this/*->actingAs($user)*/->delete($url);
  300. if ($response->getStatusCode() == 404)echo $url."\n";
  301. $this->assertNotEquals($response->getStatusCode(),404);
  302. }
  303. }
  304. }