public async Task ValidateFileForUpload_ExceptionThrownForDataFileType()
        {
            var(subjectService, fileTypeService) = Mocks();
            var service = new FileUploadsValidatorService(subjectService.Object, fileTypeService.Object, null);

            var file = CreateFormFile("test.csv", "test.csv");

            await Assert.ThrowsAsync <ArgumentException>(() => service.ValidateFileForUpload(file, FileType.Data));
        }
        public async Task ValidateFileForUpload_FileCannotBeEmpty()
        {
            var(subjectService, fileTypeService) = Mocks();
            var service = new FileUploadsValidatorService(subjectService.Object, fileTypeService.Object, null);

            var file = CreateFormFile("test.csv", "test.csv");

            var result = await service.ValidateFileForUpload(file, Ancillary);

            Assert.True(result.IsLeft);
            AssertValidationProblem(result.Left, FileCannotBeEmpty);
        }
        public async Task ValidateFileForUpload_FileTypeIsValid()
        {
            var(subjectService, fileTypeService) = Mocks();

            var service = new FileUploadsValidatorService(subjectService.Object, fileTypeService.Object, null);

            var file = CreateSingleLineFormFile("test.csv", "test.csv");

            fileTypeService
            .Setup(s => s.HasMatchingMimeType(file, It.IsAny <IEnumerable <Regex> >()))
            .ReturnsAsync(() => true);
            var result = await service.ValidateFileForUpload(file, Ancillary);

            Assert.True(result.IsRight);
        }