예제 #1
0
        public void StoreFileTestReturnsFullFileName()
        {
            // Arrange
            // Mock the configuration file
            var            fileName  = "test.csv";
            TestFileHelper tstHelper = new TestFileHelper(fileName, "");

            // Create the file service instance
            FileService fileService = new FileService(
                tstHelper.config.Object);

            // Expected result
            var expectedFullFileName = string.Format(
                @"{0}\{1}",
                tstHelper.config.Object.GetValue <string>("Files:filespath"),
                fileName);

            // Act
            var actualResult = fileService.StoreFile(tstHelper.fileMock.Object);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual <string>(expectedFullFileName,
                                     actualResult.Result);
        }
예제 #2
0
        public void ParseCsvFileTestReturnsNotHeadedModelForNotHeadedFile()
        {
            // Arrange
            var filePath = "InputData.csv";
            TestParserHelper parserHelper   = new TestParserHelper();
            TestFileHelper   tstHelper      = new TestFileHelper(filePath, parserHelper.notHeadedContent);
            CsvFileHandler   csvFileHandler = new CsvFileHandler(
                new ValidationService(), new FileService(tstHelper.config.Object),
                new ParsingService());

            // Expected result
            var expectedResult = new CsvHandleResult();

            expectedResult.Success          = true;
            expectedResult.ParsedCsvContent = parserHelper.expectedResultNoHeader;

            // Act
            var actualResult =
                csvFileHandler.ParseCsvFile(tstHelper.fileMock.Object, false);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult, actualResult.Result);
        }
예제 #3
0
        public void PostTestWrongExtensionReturnsErrorMessage()
        {
            //Arrange
            var             txtFileName    = "Data.txt";
            TestFileHelper  tstHelper      = new TestFileHelper(txtFileName, "");
            FilesController fileController = new FilesController(tstHelper.config.Object,
                                                                 new CsvFileHandler(new ValidationService(),
                                                                                    new FileService(tstHelper.config.Object),
                                                                                    new ParsingService()));

            // Expected result
            var expectedResult = new NotFoundObjectResult(new
            {
                message =
                    $"Selected file, {txtFileName}, does not have supported format CSV"
            });

            //Act
            var actualResult = fileController.Post(new List <IFormFile>()
            {
                tstHelper.fileMock.Object
            }, true);

            //Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult.StatusCode,
                            ((NotFoundObjectResult)actualResult.Result).StatusCode);
            Assert.AreEqual(expectedResult.Value.ToString(),
                            ((NotFoundObjectResult)actualResult.Result).Value.ToString());
        }
예제 #4
0
        public void PostTestReturnsHeadedModelForHeadedFile()
        {
            // Arrange
            var filePath = "InputData.csv";
            TestParserHelper parserHelper   = new TestParserHelper();
            TestFileHelper   tstHelper      = new TestFileHelper(filePath, parserHelper.headedContent);
            FilesController  fileController = new FilesController(tstHelper.config.Object,
                                                                  new CsvFileHandler(new ValidationService(),
                                                                                     new FileService(tstHelper.config.Object),
                                                                                     new ParsingService()));

            // Expected result
            var expectedCsvResult = new CsvHandleResult();

            expectedCsvResult.Success          = true;
            expectedCsvResult.ParsedCsvContent = parserHelper.headedExpectedResult;
            var expectedResult = new OkObjectResult(new
            {
                isHeadedFiles = true,
                resultList    = new List <CsvHandleResult>()
                {
                    expectedCsvResult
                }
            });

            // Act
            var actualResult =
                fileController.Post(new List <IFormFile>()
            {
                tstHelper.fileMock.Object
            }, true);

            // Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult.StatusCode,
                            ((OkObjectResult)actualResult.Result).StatusCode);
            Assert.AreEqual(expectedResult.Value.ToString(),
                            ((OkObjectResult)actualResult.Result).Value.ToString());
        }
예제 #5
0
        public void ParseCsvFileTestWrongExtensionReturnsErrorMessage()
        {
            //Arrange
            var            txtFileName    = "Data.txt";
            TestFileHelper tstHelper      = new TestFileHelper(txtFileName, "");
            CsvFileHandler csvFileHandler = new CsvFileHandler(
                new ValidationService(), new FileService(tstHelper.config.Object),
                new ParsingService());

            // Expected result
            var expectedResult = new CsvHandleResult();

            expectedResult.ErrorMessage =
                $"Selected file, {txtFileName}, does not have supported format CSV";

            //Act
            var actualResult = csvFileHandler.ParseCsvFile(tstHelper.fileMock.Object, true);

            //Assert
            Assert.IsNotNull(actualResult);
            Assert.IsNotNull(actualResult.Result);
            Assert.AreEqual(expectedResult, actualResult.Result);
        }