Exemplo n.º 1
0
        public async Task InvokeCorrectServiceMethod_WhenCalled()
        {
            // Arrange
            var cardServiceMock  = new Mock <ICardService>();
            var dateTimeProvMock = new Mock <IDateTimeProvider>();
            var controller       = SetupController(cardServiceMock, dateTimeProvMock);

            var card = new CardDetailsDto()
            {
                Id            = 1,
                CardholerName = "name",
                Cvv           = "123",
                ExpiryDate    = DateTime.Now,
                LastFourDigit = "1234",
                Type          = CardType.AmericanExpress
            };

            cardServiceMock.Setup(c => c.GetCardDetailsByIdAsync(It.IsAny <int>())).ReturnsAsync(card);

            // Act
            var result = await controller.Details(1);

            // Assert
            cardServiceMock.Verify(x => x.GetCardDetailsByIdAsync(It.IsAny <int>()), Times.Once);
        }
Exemplo n.º 2
0
        public async Task ReturnsPartialViewResult_WhenCalled()
        {
            // Arrange
            var cardServiceMock  = new Mock <ICardService>();
            var dateTimeProvMock = new Mock <IDateTimeProvider>();
            var controller       = SetupController(cardServiceMock, dateTimeProvMock);

            var card = new CardDetailsDto()
            {
                Id            = 1,
                CardholerName = "name",
                Cvv           = "123",
                ExpiryDate    = DateTime.Now,
                LastFourDigit = "1234",
                Type          = CardType.AmericanExpress
            };

            cardServiceMock.Setup(c => c.GetCardDetailsByIdAsync(It.IsAny <int>())).ReturnsAsync(card);

            // Act
            var result = await controller.Details(1);

            // Assert
            Assert.IsInstanceOfType(result, typeof(PartialViewResult));
        }
Exemplo n.º 3
0
        public async Task InvokeCorrectServiceMethod_WhenCalled()
        {
            // Arrange
            var cardServiceMock        = new Mock <ICardService>();
            var userBalServiceMock     = new Mock <IUserBalanceService>();
            var transactionServiceMock = new Mock <ITransactionService>();
            var userManagerMock        = SetupUserManagerMock();

            var controller = SetupController(cardServiceMock, userBalServiceMock, transactionServiceMock, userManagerMock);

            var model = new DepositViewModel()
            {
                Currency      = Currency.BGN,
                DepositAmount = 1
            };

            var user    = controller.User;
            var appUser = new User()
            {
                Id       = "guid",
                Currency = Currency.BGN
            };

            userManagerMock
            .Setup(u => u.GetUserAsync(user))
            .ReturnsAsync(appUser);

            var card = new CardDetailsDto()
            {
                Id            = 1,
                LastFourDigit = "1234"
            };

            cardServiceMock
            .Setup(c => c.GetCardDetailsByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(card);

            // Act
            var result = await controller.Deposit(model);

            // Assert
            userBalServiceMock
            .Verify(ub => ub.DepositMoneyAsync(It.IsAny <decimal>(),
                                               It.IsAny <string>()), Times.Once);
        }
Exemplo n.º 4
0
        public async Task ReturnsPartialViewResult_WhenCalled()
        {
            // Arrange
            var cardServiceMock        = new Mock <ICardService>();
            var userBalServiceMock     = new Mock <IUserBalanceService>();
            var transactionServiceMock = new Mock <ITransactionService>();
            var userManagerMock        = SetupUserManagerMock();

            var controller = SetupController(cardServiceMock, userBalServiceMock, transactionServiceMock, userManagerMock);

            var model = new DepositViewModel()
            {
                Currency      = Currency.BGN,
                DepositAmount = 1
            };

            var user    = controller.User;
            var appUser = new User()
            {
                Id       = "guid",
                Currency = Currency.BGN
            };

            userManagerMock
            .Setup(u => u.GetUserAsync(user))
            .ReturnsAsync(appUser);

            var card = new CardDetailsDto()
            {
                Id            = 1,
                LastFourDigit = "1234"
            };

            cardServiceMock
            .Setup(c => c.GetCardDetailsByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(card);

            // Act
            var result = await controller.Deposit(model);

            // Assert
            Assert.IsInstanceOfType(result, typeof(PartialViewResult));
        }
        public async Task <CardDetailsDto> ConsumeWebservices(string uri)
        {
            CardDetailsDto weatherData = null;

            try
            {
                HttpResponseMessage response = await _client.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    string content = await response.Content.ReadAsStringAsync();

                    weatherData = JsonConvert.DeserializeObject <CardDetailsDto>(content);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("\tERROR {0}", ex.Message);
            }

            return(weatherData);
        }