public void ReturnErrorsWhenWorngDate() { var exampleCSV = TestCSV.GetTestCSV_WrongDate(); var parser = new ProductsCSVParser(); parser.TryParse(exampleCSV); var result = parser.Result; Assert.Null(result); Assert.True(parser.HasErrors); Assert.NotEmpty(parser.Errors); }
public void ParseCSVFile() { var exampleCSV = TestCSV.GetTestCSV1(); var parser = new ProductsCSVParser(); parser.TryParse(exampleCSV); var result = parser.Result; Assert.NotNull(result); Assert.Equal("0889059664247", result[0].EAN); Assert.Equal("NordsDropShip", result[0].Vendor); Assert.Equal("0889059664248", result[1].EAN); Assert.Equal("NordsDropShip", result[1].Vendor); }
public IActionResult Post([FromBody] string data) { //TODO: Add models validation var parser = new ProductsCSVParser(); if (parser.TryParse(data)) { foreach (var p in parser.Products) { _prodcutRepository.Create(p); } return(Created("", new ApiOkResponse <object>("Inset was success", null, 201))); //return Ok(new ApiOkResponse<object>("Success", null)); } else { //TODO get errors from parser if (parser.HasErrors) { return(BadRequest(new ApiBadRequestResponse(StatusCodes.Status400BadRequest, "Check csv parser error list", parser.Errors.ToArray()))); } } return(BadRequest(new ApiBadRequestResponse(StatusCodes.Status500InternalServerError, "Unxpected error check the csv input", null))); //TODO Unhandled error }