WebTest.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  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/owner/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. "order/createRejectedBill",
  157. "order/isRejectedBillExist"
  158. ];
  159. const PUT = [
  160. ];
  161. const DELETE = [
  162. "process/destroyDailyParticipant/".self::PARAM,
  163. ];
  164. const RESTFUL = [
  165. "maintenance/log",
  166. "maintenance/user",
  167. "maintenance/role",
  168. "maintenance/authority",
  169. "maintenance/owner",
  170. "maintenance/logistic",
  171. "maintenance/qualityLabel",
  172. "maintenance/carrier",
  173. "maintenance/carType",
  174. "maintenance/unit",
  175. "maintenance/province",
  176. "maintenance/city",
  177. "maintenance/commodity",
  178. "maintenance/measuringMachine",
  179. "maintenance/userWorkgroup",
  180. "maintenance/laborCompany",
  181. "maintenance/warehouse",
  182. "maintenance/jobType",
  183. "maintenance/tutorial",
  184. "maintenance/userLabor",
  185. "maintenance/paperBox",
  186. "maintenance/waybillPriceModel",
  187. "waybill/waybillFinancialSnapshot",
  188. "waybill/waybillFinancialExcepted",
  189. "waybill",
  190. "rejectedBill",
  191. "rejected",
  192. "package/measureMonitor",
  193. "package",
  194. "store/fast",
  195. "store/storeItem",
  196. "process",
  197. "personnel/laborReport",
  198. ];
  199. const ANY = [
  200. "waybill/deliveringExport",
  201. "waybill/waybillAudit",
  202. "waybill/waybillEdit/".self::PARAM,
  203. "waybill/waybillRetreatAudit",
  204. "waybill/waybillEndAudit",
  205. "waybill/export",
  206. "waybill/waybillUpdate/".self::PARAM,
  207. "waybillFinancialSnapshot/export",
  208. "rejected/index/general",
  209. "rejected/index/analyze",
  210. "rejected/exportAnalyze",
  211. "rejected/export",
  212. //"package/measureMonitor/speech",
  213. "package/statistics/export",
  214. "package/weightExcepted/export/".self::PARAM,
  215. "package/export",
  216. "process/statistic/export",
  217. "process/export",
  218. "laborReport/export",
  219. "inventory/statement/changeInventory/export",
  220. "inventory/statement/allInventory/export",
  221. "inventory/statement/dailyLog/export",
  222. "inventory/stockInventory/enterStockInventory/".self::PARAM,
  223. "inventory/删除盘点记录",
  224. "inventory/deleteStockInventoryMission/".self::PARAM,
  225. "inventory/stockInventoryExport",
  226. "inventory/stockInventory",
  227. "order/index/delivering",
  228. "order/wave/exportExcel",
  229. "order/issue/workLoad/export",
  230. "order/issue/orderIssuePerformance/export",
  231. ];
  232. const MATCH = [
  233. "order/issue/export" => ['get','post'],
  234. ];
  235. public function testRoutes(){
  236. /* $superAdmin = config('users.superAdmin');
  237. $user = User::query()->where('name',$superAdmin[0])->first();
  238. if (!$user){
  239. $user = User::query()->create([
  240. 'name' => $superAdmin[0],
  241. 'email' => "test@example.com",
  242. 'password' => "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi",
  243. 'remember_token' => Str::random(10),
  244. ]);
  245. }*/
  246. $getMethod = self::GET;
  247. $postMethod = self::POST;
  248. $putMethod = self::PUT;
  249. $deleteMethod = self::DELETE;
  250. foreach (self::MATCH as $route => $methods){
  251. foreach ($methods as $method){
  252. if ($method == 'get'){
  253. array_push($getMethod,$route);
  254. }
  255. if ($method == 'post'){
  256. array_push($postMethod,$route);
  257. }
  258. if ($method == 'put'){
  259. array_push($putMethod,$route);
  260. }
  261. if ($method == 'delete'){
  262. array_push($deleteMethod,$route);
  263. }
  264. }
  265. }
  266. foreach (self::ANY as $route){
  267. array_push($getMethod,$route);
  268. array_push($postMethod,$route);
  269. array_push($putMethod,$route);
  270. array_push($deleteMethod,$route);
  271. }
  272. foreach (self::RESTFUL as $route){
  273. array_push($getMethod,$route);
  274. array_push($getMethod,$route.'/'.self::PARAM);
  275. array_push($getMethod,$route.'/create');
  276. array_push($postMethod,$route);
  277. array_push($getMethod,$route.'/'.self::PARAM.'/edit');
  278. array_push($putMethod,$route.'/'.self::PARAM);
  279. array_push($deleteMethod,$route.'/'.self::PARAM);
  280. }
  281. /** @var User $user */
  282. foreach ($getMethod as $url){
  283. $response = $this/*->actingAs($user)*/->get($url);
  284. if ($response->getStatusCode() == 404)echo $url."\n";
  285. $this->assertNotEquals($response->getStatusCode(),404);
  286. }
  287. /** @var User $user */
  288. foreach ($postMethod as $url){
  289. $response = $this/*->actingAs($user)*/->post($url);
  290. if ($response->getStatusCode() == 404)echo $url."\n";
  291. $this->assertNotEquals($response->getStatusCode(),404);
  292. }
  293. /** @var User $user */
  294. foreach ($putMethod as $url){
  295. $response = $this/*->actingAs($user)*/->put($url);
  296. if ($response->getStatusCode() == 404)echo $url."\n";
  297. $this->assertNotEquals($response->getStatusCode(),404);
  298. }
  299. /** @var User $user */
  300. foreach ($deleteMethod as $url){
  301. $response = $this/*->actingAs($user)*/->delete($url);
  302. if ($response->getStatusCode() == 404)echo $url."\n";
  303. $this->assertNotEquals($response->getStatusCode(),404);
  304. }
  305. }
  306. }