public void delete_events() { Mock<IAccountService> accountService = new Mock<IAccountService>(); Mock<IRepositoryService> repoService = new Mock<IRepositoryService>(); Mock<IEventRepository> eventRepo = new Mock<IEventRepository>(); accountService.Setup(a => a.GetCurrentUserCenterId()).Returns(() => 2); var events = new[] { new Event { Id = 1, CenterId = 1, Date = System.DateTime.Now }, new Event { Id = 2, CenterId = 2, Date = System.DateTime.Now } }; repoService.SetupGet(r => r.eventRepo).Returns(() => eventRepo.Object); eventRepo.Setup(e => e.FindByIdAndCenterId(2,2)).Returns(() => events[1]); eventRepo.Setup(e => e.FindByIdAndCenterId(1,1)).Returns(() => events[0]); EventsController controller = new EventsController(accountService.Object, repoService.Object); ActionResult result = controller.Delete(1) as ActionResult; // Assert // Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); // RedirectToRouteResult asRedirectResult = (RedirectToRouteResult)result; //StringAssert.Equals(asRedirectResult.RouteValues["action"], "Index"); }
public void edit_events() { // Arrange Mock<IAccountService> accountService = new Mock<IAccountService>(); Mock<IRepositoryService> repoService = new Mock<IRepositoryService>(); Mock<IEventRepository> eventRepo = new Mock<IEventRepository>(); accountService.Setup(a => a.GetCurrentUserCenterId()).Returns(() => 2); var events = new[] { new Event { Id = 1, CenterId = 1, Date = System.DateTime.Now }, new Event { Id = 2, CenterId = 2, Date = System.DateTime.Now } }; repoService.SetupGet(r => r.eventRepo).Returns(() => eventRepo.Object); eventRepo.Setup(e => e.FindById(2)).Returns(() => events[1]); eventRepo.Setup(e => e.FindById(1)).Returns(() => events[0]); EventsController controller = new EventsController(accountService.Object, repoService.Object); // Act ActionResult result = controller.Edit(1) as ActionResult; // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult asViewResult = (ViewResult)result; Assert.IsInstanceOfType(asViewResult.ViewData.Model, typeof(Event)); Assert.AreEqual(events[0], asViewResult.Model); var request = new Mock<HttpRequestBase>(); request.SetupGet(x => x.HttpMethod).Returns("POST"); var controllerContext = new Mock<HttpContextBase>(); controllerContext.SetupGet(x => x.Request).Returns(request.Object); controller.ControllerContext = new ControllerContext(controllerContext.Object, new RouteData(), controller); }
public void Index_WithLoggedInAdmin() { // Arrange Mock<IAccountService> accountService = new Mock<IAccountService>(); Mock<IRepositoryService> repoService = new Mock<IRepositoryService>(); Mock<IEventRepository> eventRepo = new Mock<IEventRepository>(); accountService.Setup(a => a.GetCurrentUserCenterId()).Returns(() => 1); var events = new[] { new Event { Id = 1, CenterId = 1, Date = System.DateTime.Now }, new Event { Id = 2, CenterId = 2, Date = System.DateTime.Now } }; repoService.SetupGet(r => r.eventRepo).Returns(() => eventRepo.Object); eventRepo.Setup(e => e.FindAllWithCenterId(1)).Returns(() => events.Where(e => e.CenterId == 1)); eventRepo.Setup(e => e.FindAllWithCenterId(2)).Returns(() => events.Where(e => e.CenterId == 2)); EventsController controller = new EventsController(accountService.Object, repoService.Object); // Act ActionResult result = controller.Index(null,null) as ActionResult; // Assert Assert.IsInstanceOfType(result, typeof(ViewResult)); ViewResult asViewResult = (ViewResult)result; Assert.IsInstanceOfType(asViewResult.ViewData.Model, typeof(IEnumerable<Event>)); IEnumerable<Event> expected = events.Where(e => e.CenterId==1); CollectionAssert.AreEqual(expected.ToList(), ((IEnumerable<Event>)asViewResult.Model).ToList()); }