private MakeOrderCommandRequest GenerateCommandRequest() { var myCustomPhone = "123-456-789"; // 1 способ: //var apiModel = MakeOrderModelFake.Generate(); //apiModel.Phone = myCustomPhone; // 2 способ - Fluent API: var apiModel = MakeOrderModelFake.Generate().WithPhone(myCustomPhone); return(MakeOrderCommandRequest.Create(apiModel)); }
public async Task Make__ReturnOk() { // Arrange var mediator = Substitute.For <IMediator>(); var controller = CreateTestedComponent(mediator); var model = MakeOrderModelFake.Generate(); // Act var result = await controller.Make(model); // Assert Assert.IsType <OkObjectResult>(result); }
public async Task Make__SendMethodOfIMediatorWasCalledAtOnceWithValidRequest() { // Arrange var mediator = Substitute.For <IMediator>(); var controller = CreateTestedComponent(mediator); var model = MakeOrderModelFake.Generate(); // Act await controller.Make(model); // Assert await mediator.Received(1).Send(Arg.Any <MakeOrderCommandRequest>()); }
public void Make__MediatorSendThrowException() { // Arrange var errorMessage = "test error"; var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <MakeOrderCommandRequest>(), CancellationToken.None) .Throws(info => new Exception(errorMessage)); var controller = CreateTestedComponent(mediator); var model = MakeOrderModelFake.Generate(); Func <Task> act = () => controller.Make(model); // Act var ex = Record.ExceptionAsync(act)?.Result; // Assert Assert.IsType <Exception>(ex); Assert.Equal(errorMessage, ex.Message); }