示例#1
0
        public void Arrange()
        {
            _levyRepository = new Mock <IDasLevyRepository>();
            _levyRepository.Setup(x => x.GetLastSubmissionForScheme(ExpectedEmpRef)).ReturnsAsync(new DasDeclaration {
                LevyDueYtd = 1000m, LevyAllowanceForFullYear = 1200m
            });

            _validator = new Mock <IValidator <RefreshEmployerLevyDataCommand> >();
            _validator.Setup(x => x.Validate(It.IsAny <RefreshEmployerLevyDataCommand>())).Returns(new ValidationResult());

            _mediator = new Mock <IMediator>();

            _hmrcDateService = new Mock <IHmrcDateService>();
            _hmrcDateService.Setup(x => x.IsSubmissionForFuturePeriod(It.IsAny <string>(), It.IsAny <short>(), It.IsAny <DateTime>())).Returns(false);

            _currentDateTime = new Mock <ICurrentDateTime>();
            _currentDateTime.Setup(cdt => cdt.Now).Returns(() => DateTime.UtcNow);

            _levyEventFactory    = new Mock <ILevyEventFactory>();
            _genericEventFactory = new Mock <IGenericEventFactory>();
            _hashingService      = new Mock <IHashingService>();
            _logger                    = new Mock <ILog>();
            _eventPublisher            = new TestableEventPublisher();
            _levyImportCleanerStrategy = new LevyImportCleanerStrategy(_levyRepository.Object, _hmrcDateService.Object, _logger.Object, _currentDateTime.Object);

            _refreshEmployerLevyDataCommandHandler = new RefreshEmployerLevyDataCommandHandler(_validator.Object, _levyRepository.Object, _mediator.Object,
                                                                                               _levyEventFactory.Object, _genericEventFactory.Object, _hashingService.Object, _levyImportCleanerStrategy, _eventPublisher);
        }
 public RefreshEmployerLevyDataCommandHandler(
     IValidator <RefreshEmployerLevyDataCommand> validator,
     IDasLevyRepository dasLevyRepository,
     IMediator mediator,
     ILevyEventFactory levyEventFactory,
     IGenericEventFactory genericEventFactory,
     IHashingService hashingService,
     ILevyImportCleanerStrategy levyImportCleanerStrategy,
     IEventPublisher eventPublisher)
 {
     _validator                 = validator;
     _dasLevyRepository         = dasLevyRepository;
     _mediator                  = mediator;
     _levyEventFactory          = levyEventFactory;
     _genericEventFactory       = genericEventFactory;
     _hashingService            = hashingService;
     _levyImportCleanerStrategy = levyImportCleanerStrategy;
     _eventPublisher            = eventPublisher;
 }