public void UploadedZippedDatafileIsValid()
        {
            var(fileTypeService, blobStorageService) = Mocks();

            var service = new DataArchiveValidationService(blobStorageService.Object, fileTypeService.Object);
            var archive = CreateFormFileFromResource("data-zip-valid.zip");

            fileTypeService
            .Setup(s => s.HasMatchingMimeType(archive, It.IsAny <IEnumerable <Regex> >()))
            .ReturnsAsync(() => true);
            fileTypeService
            .Setup(s => s.HasMatchingEncodingType(archive, It.IsAny <IEnumerable <string> >()))
            .Returns(() => true);

            var result = service.ValidateDataArchiveFile(Guid.NewGuid(), archive).Result;

            Assert.True(result.IsRight);
        }
        public void UploadedZippedDatafileIsInvalid()
        {
            var(fileTypeService, blobStorageService) = Mocks();

            var service = new DataArchiveValidationService(blobStorageService.Object, fileTypeService.Object);
            var archive = CreateFormFileFromResource("data-zip-invalid.zip");

            fileTypeService
            .Setup(s => s.HasMatchingMimeType(archive, It.IsAny <IEnumerable <Regex> >()))
            .ReturnsAsync(() => true);
            fileTypeService
            .Setup(s => s.HasMatchingEncodingType(archive, It.IsAny <IEnumerable <string> >()))
            .Returns(() => true);

            var result = service.ValidateDataArchiveFile(Guid.NewGuid(), archive).Result;

            Assert.True(result.IsLeft);
            Assert.IsAssignableFrom <BadRequestObjectResult>(result.Left);
            var details = (ValidationProblemDetails)((BadRequestObjectResult)result.Left).Value;

            Assert.Equal("DATA_ZIP_FILE_DOES_NOT_CONTAIN_CSV_FILES", details.Errors[""].First());
        }