| 
									
										
										
										
											2019-12-31 03:42:46 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Tests; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | trait TestsApi | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     protected $apiTokenId = 'apitoken'; | 
					
						
							|  |  |  |     protected $apiTokenSecret = 'password'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-31 04:48:23 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Set the API editor role as the current user via the API driver. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     protected function actingAsApiEditor() | 
					
						
							| 
									
										
										
										
											2019-12-31 03:42:46 +08:00
										 |  |  |     { | 
					
						
							| 
									
										
										
										
											2019-12-31 04:48:23 +08:00
										 |  |  |         $this->actingAs($this->getEditor(), 'api'); | 
					
						
							|  |  |  |         return $this; | 
					
						
							| 
									
										
										
										
											2019-12-31 03:42:46 +08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-31 04:48:23 +08:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Format the given items into a standardised error format. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     protected function errorResponse(string $message, int $code): array | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return ["error" => ["code" => $code, "message" => $message]]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get an approved API auth header. | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     protected function apiAuthHeader(): array | 
					
						
							| 
									
										
										
										
											2019-12-31 03:51:41 +08:00
										 |  |  |     { | 
					
						
							|  |  |  |         return [ | 
					
						
							|  |  |  |             "Authorization" => "Token {$this->apiTokenId}:{$this->apiTokenSecret}" | 
					
						
							|  |  |  |         ]; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-12-31 03:42:46 +08:00
										 |  |  | } |