コード例 #1
0
        public async Task <ActionResult> CreateRoute(BestRouteCreateRequest action)
        {
            var errors = new List <ValidationResult>();

            Validator.TryValidateObject(action, new ValidationContext(action, null, null), errors, true);

            if (errors.Count > 0)
            {
                return(BadRequest(errors.First()));
            }

            var result = await _service.CreateRoute(action);

            return(result.Item1 == true
                ? Ok(result.Item2)
                : StatusCode(500));
        }
コード例 #2
0
        public Task <Tuple <bool, string> > CreateRoute(BestRouteCreateRequest action)
        {
            try
            {
                StringBuilder builder  = new();
                string        line     = $"{action.From},{action.To},{action.Cost}";
                string        filePath = GetFilePath(action.DataSource);

                builder.AppendLine(line);
                File.AppendAllText(filePath, builder.ToString());
            }
            catch (Exception ex)
            {
                return(Task.FromResult(Tuple.Create(false, ex.Message)));
            }

            return(Task.FromResult(Tuple.Create(true, "Route sucessful added!")));
        }
コード例 #3
0
        public async Task CreateRoute_Should_Return_BadRequest_Cost(string dataSource, string from, string to, double?cost)
        {
            //Arrange
            var fakeRequest = new BestRouteCreateRequest()
            {
                DataSource = dataSource,
                From       = from,
                To         = to,
                Cost       = cost
            };

            //Act
            var result = await _controller.CreateRoute(fakeRequest);

            var okResult = result as BadRequestObjectResult;

            //Assert
            Assert.Equal("The field Cost is required.", okResult.Value.ToString());
            Assert.Equal(400, okResult.StatusCode);
        }
コード例 #4
0
        public async Task CreateRoute_Should_Return_Ok(string dataSource, string from, string to, double?cost)
        {
            //Arrange
            var fakeRequest = new BestRouteCreateRequest()
            {
                DataSource = dataSource,
                From       = from,
                To         = to,
                Cost       = cost
            };

            //Act
            var result = await _controller.CreateRoute(fakeRequest);

            var okResult   = result as OkObjectResult;
            var resultData = okResult.Value;

            //Assert
            Assert.Equal(200, okResult.StatusCode);
            Assert.Equal("Route sucessful added!", resultData);
        }