Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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>());
        }
Ejemplo n.º 4
0
        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);
        }