Ejemplo n.º 1
0
        public async Task <ActionResult> PostAsync([FromBody] ModifyDriverDto driverInfo)
        {
            var command = new CreateDriverCommand(driverInfo);

            await _mediator.Send(command);

            return(Ok());
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> PutAsync(Guid driverId, [FromBody] ModifyDriverDto driverInfo)
        {
            var command = new UpdateDriverCommand(driverId, driverInfo);

            try
            {
                await _mediator.Send(command);

                return(Ok());
            }
            catch (NotFoundException ex)
            {
                return(NotFound(ex.Message));
            }
        }
        public async Task PostAsync_WithData_SendsCommandAndReturnsOk()
        {
            // Arrange
            var data     = new ModifyDriverDto {
            };
            var mediator = new Mock <IMediator>();

            mediator
            .Setup(m => m.Send(It.Is <CreateDriverCommand>(q => q.DriverDto == data), It.IsAny <CancellationToken>()))
            .Returns(Task.FromResult(Unit.Value))
            .Verifiable();
            var controller = new DriversController(mediator.Object);

            // Act
            var response = await controller.PostAsync(data);

            // Assert
            mediator.Verify();
            Assert.IsType <OkResult>(response);
        }
        public async Task PutAsync_WithDataAndNonExistingGuid_SendsCommandAndReturnsNotFound()
        {
            // Arrange
            var guid     = Guid.NewGuid();
            var data     = new ModifyDriverDto {
            };
            var mediator = new Mock <IMediator>();

            mediator
            .Setup(m => m.Send(It.Is <UpdateDriverCommand>(q => q.DriverDto == data && q.DriverId == guid), It.IsAny <CancellationToken>()))
            .Returns(Task.FromException <Unit>(new NotFoundException("Just not found")))
            .Verifiable();
            var controller = new DriversController(mediator.Object);

            // Act
            var response = await controller.PutAsync(guid, data);

            // Assert
            mediator.Verify();
            Assert.IsType <NotFoundObjectResult>(response);
            Assert.Equal("Just not found", ((NotFoundObjectResult)response).Value);
        }