public void CreateEvent_Post_ReturnsARedirectAndAddsEvent_WhenModelStateIsValid() { // Arrange var mockRepo = new Mock <IEventRepository>(); mockRepo.Setup(repo => repo.AddEvent(It.IsAny <Event>())).Verifiable(); var @event = new Event() { Id = 1, Name = "Test" }; var createmodel = new CreateEventModel(mockRepo.Object); createmodel.Event = @event; // Act var result = createmodel.OnPost(); // Assert var redirectToActionResult = Assert.IsType <RedirectToPageResult>(result); Assert.Equal("Index", redirectToActionResult.PageName); mockRepo.Verify((e) => e.AddEvent(@event), Times.Once); }
public void OnPost_InValidState() { // Arrange var mockRepo = new Mock <IEventRepository>(); var createmodel = new CreateEventModel(mockRepo.Object); createmodel.ModelState.AddModelError("key1", "The Text field is required."); // Act var result = createmodel.OnPost(); // Assert Assert.IsNotType <PageResult>(result); var badRequestResult = Assert.IsType <BadRequestObjectResult>(result); Assert.IsType <SerializableError>(badRequestResult.Value); }