public BankPaymentResponseDTO MakePayment(CardDetailDTO cardDetail)
        {
            BankPaymentResponseDTO payment = new BankPaymentResponseDTO()
            {
                Identifier = new Guid(),
                Status     = "Success"
            };

            return(payment);
        }
        public void MakePayment_ShouldReturnFalse_WhenPassedInvalidCardCvv()
        {
            CardDetailDTO card = new CardDetailDTO()
            {
                Amount     = 100,
                CardNumber = "1234567891234567",
                Currency   = "Euro",
                Cvv        = 1234,
                ExpiryDate = "12/2020"
            };
            BankPaymentResponseDTO payment = new BankPaymentResponseDTO()
            {
                Identifier = new Guid(),
                Status     = "Success"
            };

            mockBankRepositoryService.Setup(x => x.MakePayment(card)).Returns(payment);
            PaymentGateway paymentGateway = new PaymentGateway(mockBankRepositoryService.Object);
            var            result         = paymentGateway.MakePayment(card);

            Assert.AreEqual(result.IsSuccess, false);
        }
        public void MakePayment_ShouldReturnTrue_WhenPassedValidCardDetails()
        {
            //ExpiryDate expiryDate = new ExpiryDate() { Month = 07, Year = 2022 };
            CardDetailDTO card = new CardDetailDTO()
            {
                Amount     = 100,
                CardNumber = "1234567891234567",
                Currency   = "Euro",
                Cvv        = 123,
                ExpiryDate = "07/2022"
            };
            BankPaymentResponseDTO payment = new BankPaymentResponseDTO()
            {
                Identifier = new Guid(),
                Status     = "Success"
            };

            mockBankRepositoryService.Setup(x => x.MakePayment(card)).Returns(payment);
            PaymentGateway paymentGateway = new PaymentGateway(mockBankRepositoryService.Object);
            var            result         = paymentGateway.MakePayment(card);

            Assert.AreEqual(result.IsSuccess, true);
        }