Beispiel #1
0
        public async Task Post_CheckValid_Master_Card()
        {
            // Arrange
            var creditCards = new CreditCardsVm
            {
                Card       = "5909-2222-8723-8888",
                ExpiryDate = "081913"
            };



            // Act
            var result = await _creditCardController.GetCard(creditCards);

            var value = result.Result as Microsoft.AspNetCore.Mvc.OkObjectResult;

            Assert.NotNull(value);
            var cardResponse = value.Value as CardResponse;

            // Assert
            Assert.NotNull(result);
            Assert.NotNull(cardResponse);
            Assert.AreEqual("Master", cardResponse.CardType);
            Assert.AreEqual("Valid", cardResponse.Result);
        }
Beispiel #2
0
        public async Task <ActionResult <CardResponse> > GetCard([FromBody] CreditCardsVm card)
        {
            if (ModelState.IsValid && !string.IsNullOrEmpty(card.ExpiryDate) && card.ExpiryDate.Length == 6)
            {
                var year = card.ExpiryDate.ToString().Substring(2, 4).ToNumber();

                var sqlCardResult = await _cardRepository.GetCard(card.Card);


                if (sqlCardResult.Any())
                {
                    var processingResult = sqlCardResult.FirstOrDefault();
                    if (processingResult != null)
                    {
                        var processingCard = processingResult.Card;
                        return(Validate(processingCard, year));
                    }
                }
                else
                {
                    return(BadRequest(card.Card.SetCard("Unknown").SetResult("Does Not Exist")));
                }
            }
            return(BadRequest(card.Card.SetCard("Unknown").SetResult("Invalid")));
        }
Beispiel #3
0
        public async Task Post_Unknown_Invalid__Card()
        {
            // Arrange
            var creditCards = new CreditCardsVm
            {
                Card       = "3528-3589-8723-8888",
                ExpiryDate = "0819139"
            };


            // Act
            var result = await _creditCardController.GetCard(creditCards);

            var value = result.Result as Microsoft.AspNetCore.Mvc.BadRequestObjectResult;

            Assert.NotNull(value);
            var cardResponse = value.Value as CardResponse;

            // Assert
            Assert.NotNull(result);
            Assert.NotNull(cardResponse);
            Assert.AreEqual("Unknown", cardResponse.CardType);
            Assert.AreEqual("Invalid", cardResponse.Result);
        }