public void CreateAction_Returns_IndexViewWhenModelStateIsValid() { _uut.ModelState.Clear(); RedirectToRouteResult result = _uut.Create(new Printer()) as RedirectToRouteResult; result.RouteValues["Action"].Equals("Index"); Assert.AreEqual("Action", result.RouteValues["Index"]); }
public async Task GivenPrinter_WhenCreate_ThenQuerySent_AndResponseReturned() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new PrintersController( new PrinterIdValidator(), mockMediator.Object); var printer = new Dto.Request.Printer(); var response = new CreatePrinterCommandResponse { Printer = new Dto.Response.Printer { Id = "HelloWorld" } }; mockMediator.Setup(x => x.Send( It.IsAny <CreatePrinterCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(response); var cancellationTokenSource = new CancellationTokenSource(); // Act var result = await sut.Create( printer, cancellationTokenSource.Token); // Assert mockMediator.Verify(x => x.Send( It.Is <CreatePrinterCommand>(y => y.Printer == printer), It.Is <CancellationToken>(y => y == cancellationTokenSource.Token)), Times.Once); Assert.Equal(response.Printer.Id, result.Value.Id); }
public async Task GivenModelStateError_WhenCreate_ThenBadRequestResponseReturned() { // Arrange var mockMediator = new Mock <IMediator>(); var sut = new PrintersController( new PrinterIdValidator(), mockMediator.Object); sut.ModelState.AddModelError("error", "Something bad went down!"); var cancellationTokenSource = new CancellationTokenSource(); // Act var result = await sut.Create( new Dto.Request.Printer(), cancellationTokenSource.Token); // Assert Assert.False(result.Success); Assert.Equal(HttpStatusCode.BadRequest, result.Error.HttpStatusCode); }