示例#1
0
        public async Task AddLocation_NewLocationRequest_ReturnStatusCodeCreatedAtExpectedRoutName()
        {
            // Arrange
            var locationRequest = new LocationRequest
            {
                VehicleId = 1,
                Latitude  = 13.788571,
                Longitude = 100.538034
            };

            var locationResponse = new LocationResponse
            {
                Id        = Guid.NewGuid(),
                VehicleId = 1,
                Latitude  = 13.788571,
                Longitude = 100.538034,
            };

            locationsService
            .AddLocationAsync(Arg.Any <LocationRequest>())
            .Returns(Task.FromResult(locationResponse));

            // Act
            var actionResult = await locationsController.AddLocation(locationRequest);

            // Assert
            var requestResult = Assert.IsType <OkObjectResult>(actionResult);

            Assert.Equal((int)System.Net.HttpStatusCode.OK, requestResult.StatusCode);
        }
示例#2
0
        public async Task <IActionResult> AddLocation([FromBody] LocationRequest locationCreateDto)
        {
            if (locationCreateDto == null)
            {
                return(BadRequest(ModelState));
            }

            var response = await locationsService.AddLocationAsync(locationCreateDto);

            if (response == null)
            {
                ModelState.AddModelError("", "Vehicle id not exists");
                return(StatusCode(404, ModelState));
            }

            return(Ok(response));
        }