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; }