public async void Detail_GetCurrentItem(int?id) { // Arrange var mockRepo = new Mock <IAsyncRepository <Income> >(); var mockMediator = new Mock <IMediator>(); mockRepo.Setup(repo => repo.GetByIdAsync(id)).ReturnsAsync(GetIncomes().Find(i => i.IncomeId == id)); mockMediator .Setup(m => m.Send(It.IsAny <GetIncomeDetail>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new IncomeDetailViewModel() { Income = GetIncomes().Find(i => i.IncomeId == id) }) .Verifiable(); var controller = new IncomesController(mockRepo.Object, mockMediator.Object); // Act var result = await controller.Details(id); // Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IncomeDetailViewModel>(viewResult.Model); Assert.Equal(id, model.Income.IncomeId); }
public async void Index_GetAllItems() { // Arrange var mockRepo = new Mock <IAsyncRepository <Income> >(); var mockMediator = new Mock <IMediator>(); mockRepo.Setup(repo => repo.GetAllAsync()).ReturnsAsync(GetIncomes()); var controller = new IncomesController(mockRepo.Object, mockMediator.Object); // Act var result = await controller.Index(); // Assert var viewResult = Assert.IsType <ViewResult>(result); var model = Assert.IsAssignableFrom <IEnumerable <Income> >(viewResult.Model); Assert.Equal(GetIncomes().Count, model.Count()); }
public void Setup() { SetupDB(); Guid userGuidID = new Guid(); databaseContext.Users.Add(NewUser); databaseContext.SaveChanges(); var userClaimsTypes = new ClaimsPrincipal(new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.NameIdentifier, userGuidID.ToString()), }, "mock")); AccountsControl = new AccountsController(databaseContext); IncomesControl = new IncomesController(databaseContext); ExpensesControl = new ExpensesController(databaseContext); AccountsControl.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = userClaimsTypes } }; IncomesControl.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = userClaimsTypes } }; ExpensesControl.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = userClaimsTypes } }; }