public ProviderApproveCohortCommandHandlerTestsFixture() { var autoFixture = new Fixture(); _dbContext = new Mock <ProviderCommitmentsDbContext>(new DbContextOptionsBuilder <ProviderCommitmentsDbContext>().UseInMemoryDatabase(Guid.NewGuid().ToString()).Options) { CallBase = true }; _logger = new FakeLogger <ProviderApproveCohortCommandHandler>(); _handler = new ProviderApproveCohortCommandHandler(_logger, new Lazy <ProviderCommitmentsDbContext>(() => _dbContext.Object)); _messageHandlerContext = new Mock <IMessageHandlerContext>(); _command = autoFixture.Create <ProviderApproveCohortCommand>(); _cohort = new Mock <Cohort>(); _cohort.Setup(x => x.Id).Returns(_command.CohortId); _cohort.Setup(x => x.Approvals).Returns(Party.None); _cohort.Setup(x => x.IsApprovedByAllParties).Returns(false); _cohort.Setup(x => x.Approve(Party.Provider, It.IsAny <string>(), It.IsAny <UserInfo>(), It.IsAny <DateTime>())); _dbContext.Object.Cohorts.Add(_cohort.Object); _dbContext.Object.SaveChanges(); }
public void SetUp() { Validator = new ProviderApproveCohortCommandValidator(); Command = new ProviderApproveCohortCommand { Caller = new Caller(213, CallerType.Provider), CommitmentId = 123, LastUpdatedByName = "Test", LastUpdatedByEmail = "*****@*****.**", Message = "Some text" }; SetUpCommonMocks(); Commitment = CreateCommitment(Command.CommitmentId, 11234, Command.Caller.Id); Commitment.EditStatus = EditStatus.ProviderOnly; Account = CreateAccount(Commitment.EmployerAccountId, ApprenticeshipEmployerType.Levy); CommitmentRepository.Setup(x => x.GetCommitmentById(Command.CommitmentId)).ReturnsAsync(Commitment); EmployerAccountsService.Setup(x => x.GetAccount(Commitment.EmployerAccountId)).ReturnsAsync(Account); SetupSuccessfulOverlapCheck(); V2EventsPublisher.Setup(x => x.SendProviderApproveCohortCommand(It.IsAny <long>(), It.IsAny <string>(), It.IsAny <UserInfo>())) .Returns(Task.CompletedTask); Target = new ProviderApproveCohortCommandHandler(Validator, CommitmentRepository.Object, V2EventsPublisher.Object); }