public DetailedCarInfo MapToDetailedCarInfoObject(string jsonString)
        {
            JObject jObject         = JObject.Parse(jsonString);
            var     detailedCarInfo = new DetailedCarInfo
            {
                AutoId      = jObject.SelectToken("autoData.autoId").Value <int>(),
                MarkName    = jObject.SelectToken("markName").Value <string>(),
                ModelName   = jObject.SelectToken("modelName").Value <string>(),
                Year        = jObject.SelectToken("autoData.year").Value <int>(),
                PhotoLink   = jObject.SelectToken("photoData.seoLinkSX").Value <string>(),
                PriceUSD    = jObject.SelectToken("USD").Value <int>(),
                PriceUAH    = jObject.SelectToken("UAH").Value <int>(),
                PriceEUR    = jObject.SelectToken("EUR").Value <int>(),
                Race        = jObject.SelectToken("autoData.race").Value <string>(),
                RaceInt     = jObject.SelectToken("autoData.raceInt").Value <int>(),
                City        = jObject.SelectToken("stateData.name").Value <string>(),
                FuelName    = jObject.SelectToken("autoData.fuelName").Value <string>(),
                GearBoxName = jObject.SelectToken("autoData.gearboxName").Value <string>(),
                Description = jObject.SelectToken("autoData.description").Value <string>(),
                CategoryId  = jObject.SelectToken("autoData.categoryId").Value <int>(),
                MarkId      = jObject.SelectToken("markId").Value <int>(),
                ModelId     = jObject.SelectToken("modelId").Value <int>()
            };

            return(detailedCarInfo);
        }
        public async Task GetDetailedCarInfo_CorrectAutoId_ReturnsCorrectDetailedCarInfoObject(int autoId)
        {
            // Act
            DetailedCarInfo detailedCarInfo = await _carService.GetDetailedCarInfo(autoId);

            // Assert
            Assert.True(detailedCarInfo.IsValid());
        }
示例#3
0
        public async Task <DetailedCarInfo> GetDetailedCarInfo(int autoId)
        {
            string allCarInfo = await GetAllCarInfo(autoId);

            DetailedCarInfo detailedCarInfo = _carMapper.MapToDetailedCarInfoObject(allCarInfo);

            return(detailedCarInfo);
        }
        public async Task GetDetailedCarInfo_CorrectAutoId_ReturnsDetailedCarInfoObject(int autoId)
        {
            // Act
            DetailedCarInfo detailedCarInfo = await _carService.GetDetailedCarInfo(autoId);

            // Assert
            Assert.NotNull(detailedCarInfo);
            Assert.IsType <DetailedCarInfo>(detailedCarInfo);
        }
        public async Task <IActionResult> GetDetailedCarInfo(int autoId)
        {
            try
            {
                DetailedCarInfo detailedCarInfo = await _carService.GetDetailedCarInfo(autoId);

                return(Ok(detailedCarInfo));
            }
            catch
            {
                return(NotFound());
            }
        }
示例#6
0
        public async Task MapToDetailedCarInfoObject_CorrectJsonStringObject_ReturnsCorrectDetailedCarInfoObject()
        {
            // Arrange
            using (var streamReader = new StreamReader($"{_testFilesFolderPath}allCarInfoTestFile.json"))
            {
                string jsonString = await streamReader.ReadToEndAsync();

                // Act
                DetailedCarInfo detailedCarInfo = _carMapper.MapToDetailedCarInfoObject(jsonString);

                // Assert
                Assert.IsType <DetailedCarInfo>(detailedCarInfo);
                Assert.True(detailedCarInfo.IsValid());
            }
        }
示例#7
0
        public async Task GetDetailedCarInfo_SendsHttpRequestWithCorrectAutoId_ReturnsResponseWithCorrectDetailedCarInfoObject(int autoId)
        {
            // Arrange
            string uri = $"/api/cars/detailed-info/{autoId}";

            // Act
            HttpResponseMessage response = await _httpClient.GetAsync(uri);

            response.EnsureSuccessStatusCode();
            string stringResponse = await response.Content.ReadAsStringAsync();

            DetailedCarInfo detailedCarInfo = JsonConvert.DeserializeObject <DetailedCarInfo>(stringResponse);

            // Assert
            Assert.NotNull(detailedCarInfo);
            Assert.IsType <DetailedCarInfo>(detailedCarInfo);
            Assert.True(detailedCarInfo.IsValid());
        }
 public static bool IsValid(this DetailedCarInfo detailedCarInfo)
 {
     return((detailedCarInfo as BaseCarInfo).IsValid() &&
            !string.IsNullOrWhiteSpace(detailedCarInfo.Description));
 }