/** @test */
 public function logresponse_finds_null_for_non_existing_message()
 {
     list($mailStatistic, $project, $category) = $this->createMailStatistic();
     $data = ['recipient' => '*****@*****.**', 'tag' => $project->name, 'status' => "delivered", 'message-id' => "some random thing"];
     $request = new \Illuminate\Http\Request([], $data);
     $logResponse = \BitsOfLove\MailStats\LogResponse::create($request);
     $this->assertInstanceOf($this->logResponseClass, $logResponse);
     $this->assertNull($logResponse->getCategory());
 }
 /**
  * Entry point for the Mailgun webhooks
  *
  * @param Request $request
  * @return JsonResponse
  */
 public function log(Request $request)
 {
     // lets log the full response just to be sure
     // but only not in production
     if (!app()->environment('production')) {
         $this->logger->addInfo(json_encode($request->request->all()));
     }
     try {
         $responseLogger = LogResponse::create($request);
         $responseLogger->log();
     } catch (ProjectNotSupported $e) {
         return new JsonResponse(['success' => false, 'errors' => ["The project you've provided could not be found in our records"]], 400);
     } catch (\Exception $e) {
         return new JsonResponse(['success' => false, 'errors' => [$e->getMessage()]], 400);
     }
     return new JsonResponse(['success' => true]);
 }