/**
  * Test that fetchMessageByGatewayOrderId returns null when the message
  * isn't found.
  */
 public function testFetchMessageByGatewayOrderIdNone()
 {
     $message = $this->generateTestMessage();
     $this->db->storeMessage($message);
     $fetched = $this->db->fetchMessageByGatewayOrderId('test_gateway', $message['order_id'] + 1);
     $this->assertNull($fetched, 'Record correctly not found fetchMessageByGatewayOrderId.');
 }
 /**
  * We refuse to consume a message and drop it if the corresponding
  * payments_initial row is failed.
  */
 public function testPendingMessageInitialFailed()
 {
     $initRow = PaymentsInitialDatabaseTest::generateTestMessage();
     $initRow['payments_final_status'] = 'failed';
     $initRow['validation_action'] = 'reject';
     $this->paymentsInitialDb->storeMessage($initRow);
     $message = self::generatePendingMessageFromInitial($initRow);
     $consumer = new PendingQueueConsumer('pending', 1000, 1000);
     $consumer->processMessage($message);
     $fetched = $this->pendingDb->fetchMessageByGatewayOrderId($message['gateway'], $message['order_id']);
     $this->assertNull($fetched, 'Message consumed and not stored in the pending database.');
 }