[Fact] public async Task UploadBattersTest()
        {
            var returnData = new List <BhqBattingStats> {
                new BhqBattingStats()
            };
            var section = new Mock <IConfigurationSection>();

            section.Setup(o => o.Value).Returns("batters.csv");
            var config = new Mock <IConfiguration>();

            config.Setup(o => o.GetSection("CsvFiles:BatterFile")).Returns(section.Object);
            var uploadService = new Mock <ICsvFileUploaderService>();

            uploadService.Setup(o => o.UploadFile(It.IsAny <FormFileReader>(), "batters.csv")).Returns(Task.FromResult(0));
            var readService = new Mock <ICsvFileReaderService>();

            readService.Setup(o => o.ReadCsvData <BhqBattingStats>(It.IsAny <FormFileReader>())).Returns(Task.FromResult(returnData));
            var request     = new Mock <HttpRequest>();
            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(a => a.Request).Returns(request.Object);
            var controller = new BhqStatsController(readService.Object, uploadService.Object, config.Object);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = httpContext.Object
            };
            await controller.UploadBatterFile();

            readService.VerifyAll();
            uploadService.VerifyAll();
        }
        [Fact] public async Task UploadBattersExceptionTest()
        {
            var readService = new Mock <ICsvFileReaderService>();

            readService.Setup(o => o.ReadCsvData <BhqBattingStats>(It.IsAny <FormFileReader>())).ThrowsAsync(new Exception("Bad Request"));
            var request     = new Mock <HttpRequest>().Object;
            var httpContext = new Mock <HttpContext>();

            httpContext.SetupGet(a => a.Request).Returns(request);
            var controller = new BhqStatsController(readService.Object, null, null);

            controller.ControllerContext = new ControllerContext()
            {
                HttpContext = httpContext.Object
            };
            await Assert.ThrowsAsync <BadRequestException>(() => controller.UploadBatterFile());

            readService.VerifyAll();
        }