Exemple #1
0
            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);
        }