public void ThenShouldLogInfoForMissingFields(string header)
        {
            var logger = new Mock <IProviderCommitmentsLogger>();

            logger.Setup(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            logger.Setup(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            var commitment = new CommitmentView {
                Id = 456
            };

            _sut = new BulkUploadFileParser(logger.Object);

            var inputData = $"{header}" +
                            @"
                            Abba123,1113335559,Froberg,Chris,1998-12-08,SE123321C,25,,,2,2120-08,2125-08,1500,,Employer ref,Provider ref";

            _file = new Mock <HttpPostedFileBase>();
            _file.Setup(m => m.FileName).Returns("APPDATA-20051030-213855.csv");
            _file.Setup(m => m.ContentLength).Returns(inputData.Length);
            var textStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(inputData));

            _file.Setup(m => m.InputStream).Returns(textStream);

            var result = _sut.CreateViewModels(123, commitment, inputData);

            var errors = result.Errors.ToList();

            Assert.AreEqual(1, errors.Count);
            Assert.AreEqual("Some mandatory fields are incomplete. Please check your file and upload again.", errors.First().Message);

            logger.Verify(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Once);
            logger.Verify(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Never);
        }
        public void ThenShouldNotLogInfoWhenNoHeaderRecord()
        {
            var logger = new Mock <IProviderCommitmentsLogger>();

            logger.Setup(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            logger.Setup(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            var commitment = new CommitmentView {
                Id = 456
            };

            _sut = new BulkUploadFileParser(logger.Object);

            var builder = new StringBuilder();

            builder.AppendLine(Environment.NewLine);
            builder.AppendLine("Abba123,1113335559,Froberg,Chris,1998-12-08,SE123321C,25,,,2,2120-08,2125-08,1500,,Employer ref,Provider ref");
            var inputData = builder.ToString();

            _file = new Mock <HttpPostedFileBase>();
            _file.Setup(m => m.FileName).Returns("APPDATA-20051030-213855.csv");
            _file.Setup(m => m.ContentLength).Returns(inputData.Length);
            var textStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(inputData));

            _file.Setup(m => m.InputStream).Returns(textStream);

            var result = _sut.CreateViewModels(123, commitment, inputData);

            var errors = result.Errors.ToList();

            Assert.AreEqual(0, errors.Count);
            Assert.AreEqual(0, result.Data.Count());

            logger.Verify(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Never);
            logger.Verify(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Never);
        }
 public BulkUploader(IMediator mediator, IBulkUploadValidator bulkUploadValidator, IBulkUploadFileParser fileParser, IProviderCommitmentsLogger logger)
 {
     _mediator            = mediator;
     _bulkUploadValidator = bulkUploadValidator;
     _fileParser          = fileParser;
     _logger = logger;
 }
        public void Setup()
        {
            _file = new Mock <HttpPostedFileBase>();
            _file.Setup(m => m.FileName).Returns("APPDATA-20051030-213855.csv");
            _file.Setup(m => m.ContentLength).Returns(400);
            var textStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(_testData));

            _file.Setup(m => m.InputStream).Returns(textStream);

            _sut = new BulkUploadFileParser(Mock.Of <IProviderCommitmentsLogger>());
        }
Beispiel #5
0
 public BulkUploadOrchestrator(
     IMediator mediator,
     BulkUploader bulkUploader,
     IHashingService hashingService,
     BulkUploadMapper mapper,
     IProviderCommitmentsLogger logger,
     IBulkUploadFileParser fileParser,
     IReservationsService reservationsService) : base(mediator, hashingService, logger)
 {
     _bulkUploader        = bulkUploader;
     _mapper              = mapper;
     _fileParser          = fileParser;
     _reservationsService = reservationsService ?? throw new ArgumentNullException(nameof(reservationsService));
 }
        public void WhenFileIsEmpty()
        {
            var logger = new Mock <IProviderCommitmentsLogger>();

            logger.Setup(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            logger.Setup(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>())).Verifiable();
            var commitment = new CommitmentView {
                Id = 456
            };

            _sut = new BulkUploadFileParser(logger.Object);

            var records = _sut.CreateViewModels(123, commitment, "");

            records.Data.Should().BeNull();
            records.Errors.Should().NotBeNull();
            records.Errors.First().Message.Should().Be("Upload failed. Please check your file and try again.");

            logger.Verify(x => x.Info(It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Once);
            logger.Verify(x => x.Error(It.IsAny <Exception>(), It.IsAny <string>(), It.IsAny <long?>(), It.IsAny <long?>(), It.IsAny <long?>()), Times.Never);
        }
 public FileUploadStartViewModelToBulkUploadRequestMapper(IBulkUploadFileParser fileParser)
 {
     _fileParser = fileParser;
 }
Beispiel #8
0
 public InstrumentedBulkUploadFileParser(ILog logger, IBulkUploadFileParser parser)
 {
     _logger = logger;
     _parser = parser;
 }