public void Search_OnGatewayRejectedAt()
{
BraintreeGateway processingRulesGateway = new BraintreeGateway
{
Environment = Environment.DEVELOPMENT,
MerchantId = "processing_rules_merchant_id",
PublicKey = "processing_rules_public_key",
PrivateKey = "processing_rules_private_key"
};
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2010",
CVV = "200"
}
};
Transaction transaction = processingRulesGateway.Transaction.Sale(request).Transaction;
DateTime threeDaysEarlier = DateTime.Now.AddDays(-3);
DateTime oneDayEarlier = DateTime.Now.AddDays(-1);
DateTime oneDayLater = DateTime.Now.AddDays(1);
TransactionSearchRequest searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
GatewayRejectedAt.Between(oneDayEarlier, oneDayLater);
Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
GatewayRejectedAt.GreaterThanOrEqualTo(oneDayEarlier);
Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
GatewayRejectedAt.LessThanOrEqualTo(oneDayLater);
Assert.AreEqual(1, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount);
searchRequest = new TransactionSearchRequest().
Id.Is(transaction.Id).
GatewayRejectedAt.Between(threeDaysEarlier, oneDayEarlier);
Assert.AreEqual(0, processingRulesGateway.Transaction.Search(searchRequest).MaximumCount);
}