public void GetExpenses()
        {
            var client = new HttpClient();

            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Token", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWVfbmFtZSI6IjQ4MDZhYWVmLTJmNjctNGY3Yy0yYjdiLTA4ZDdiNTE3MGEzMyIsIm5iZiI6MTU4MjEwMTQ4NywiZXhwIjoxNTgyMTA0MTg3LCJpYXQiOjE1ODIxMDE0ODd9.m-zrNriR1RqSF6pchSBbQ_noiIaNeVSfmixUgyrFqik");
            var expense = new ExpensesViewModel {
                Title = "mock Expenses", Price = 20
            };
            var expenseDTO = new ExpensesDTO {
                Title = "mock Expenses", Price = 20
            };
            int userId     = 1;
            var mockMapper = new Mock <IMapper>();

            mockMapper.Setup(repo => repo.Map(expense, expenseDTO))
            .Returns(expenseDTO);
            mockMapper.Setup(repo => repo.Map(expenseDTO, expense))
            .Returns(expense);

            List <ExpensesDTO> expensesList = new List <ExpensesDTO>();
            var mockRepo = new Mock <IExpensesService>();

            mockRepo.Setup(repo => repo.GetExpensesAsync(userId))
            .ReturnsAsync(expensesList);

            var mockExceptionREpo = new Mock <IExceptionHandler>();
            var controller        = new ExpensesController(mockRepo.Object, mockExceptionREpo.Object, mockMapper.Object);

            // Act
            var okResult = controller.GetExpenses(userId).Result;

            // Assert

            Assert.IsType <OkObjectResult>(okResult);
        }
Exemple #2
0
        public async Task TestGetExpenses()
        {
            var result = await _controller.GetExpenses();

            var expectedResult = _data.Where(d => d.ApplicationUserID == _user.Id).ToList();

            ValidateResult(expectedResult, result.ToList());
        }
        public async Task GetExpenses_WhenCalled_GivesListOfExpeses()
        {
            var repo       = new Mock <IExpenseRepository>();
            var mapper     = new Mock <IMapper>();
            var controller = new ExpensesController(mapper.Object, repo.Object);
            var list       = await controller.GetExpenses(1);

            repo.Verify(r => r.GetExpenses(1));
        }
Exemple #4
0
        public async Task GetExpenses_ShouldReturnEnumerableOfViewModelType(Guid userId)
        {
            _controller.HttpContext.User = new ClaimsPrincipal(new List <ClaimsIdentity>()
            {
                new ClaimsIdentity(new List <Claim>()
                {
                    new Claim("id", userId.ToString())
                })
            });

            var result = await _controller.GetExpenses(CancellationToken.None);

            Assert.IsType(typeof(OkObjectResult), result.Result);
            Assert.IsAssignableFrom(typeof(IEnumerable <ExpenseViewModel>), (result.Result as OkObjectResult).Value);
        }
        public async Task GetExpensesTest()
        {
            var mockRepo = new Mock <IExpenseRepository>(MockBehavior.Strict);

            mockRepo.Setup(repo => repo.ListAsync())
            .ReturnsAsync(GetTestExpenses());

            var controller = new ExpensesController(mockRepo.Object, _loggerManager, _mapper);

            var result = await controller.GetExpenses();

            var okResult = Assert.IsType <OkObjectResult>(result.Result);
            var model    = Assert.IsAssignableFrom <IEnumerable <ExpenseDto> >(okResult.Value);

            Assert.Equal(2, model.Count());
        }
Exemple #6
0
        public async void GetExpenses_ReturnsZeroItems_WhenDBIsEmpty()
        {
            //Arrange
            //DBContext
            var optionsBuilder = new DbContextOptionsBuilder <ExpenseContext>();

            optionsBuilder.UseInMemoryDatabase("UnitTestInMemBD");
            var dbContext = new ExpenseContext(optionsBuilder.Options);

            var expenseRepo = new ExpenseRepository(dbContext);

            //Controller
            var controller = new ExpensesController(expenseRepo, null);

            //Act
            var result = await controller.GetExpenses();

            //Assert
            Assert.Empty(result.Value);
        }
Exemple #7
0
        public async void GetExpenses_ReturnsTwoItems_WhenDBIsNotEmpty()
        {
            //Arrange
            //DBContext
            var optionsBuilder = new DbContextOptionsBuilder <ExpenseContext>();

            optionsBuilder.UseInMemoryDatabase("UnitTestInMemBD2");
            var dbContext = new ExpenseContext(optionsBuilder.Options);

            dbContext.Add(new Expense()
            {
                Amount      = 88.49f,
                Currency    = Currency.EUR,
                Description = "Skateboard trucks"
            });

            dbContext.Add(new Expense()
            {
                Amount      = 49.99f,
                Currency    = Currency.EUR,
                Description = "Skateboard deck"
            });

            dbContext.SaveChanges();

            var expenseRepo = new ExpenseRepository(dbContext);

            //Controller
            var controller = new ExpensesController(expenseRepo);

            //Act
            var result = await controller.GetExpenses();

            //Assert
            Assert.Equal(2, result.Value.Count);
        }