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);
        }
Esempio n. 3
0
        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
        }