public async Task Then_Do_Not_Update_Email_History_If_PayLoad_Is_Null_Or_Empty(
            string payload,
            MatchingConfiguration configuration,
            IRepository <Domain.Models.EmailHistory> emailHistoryRepository,
            IEmailService emailService,
            IOpportunityRepository opportunityRepository,
            IMessageQueueService messageQueueService,
            ILogger <Application.Services.EmailDeliveryStatusService> logger,
            Domain.Models.EmailHistory emailHistory
            )
        {
            //Arrange
            emailHistoryRepository
            .GetFirstOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.EmailHistory, bool> > >())
            .Returns(emailHistory);

            var sut = new Application.Services.EmailDeliveryStatusService(configuration,
                                                                          emailService, opportunityRepository, messageQueueService, logger);

            //Act
            var result = await sut.HandleEmailDeliveryStatusAsync(payload);

            //Assert
            result.Should().Be(-1);

            await emailHistoryRepository.DidNotReceive().GetFirstOrDefaultAsync(Arg.Any <Expression <Func <Domain.Models.EmailHistory, bool> > >());

            await emailHistoryRepository.DidNotReceive().UpdateWithSpecifiedColumnsOnlyAsync(
                Arg.Any <Domain.Models.EmailHistory>(),
                Arg.Any <Expression <Func <Domain.Models.EmailHistory, object> >[]>());

            await messageQueueService.DidNotReceive().PushEmailDeliveryStatusMessageAsync(Arg.Any <SendEmailDeliveryStatus>());
        }
Exemplo n.º 2
0
        public When_EmailHistoryRepository_GetSingleOrDefault_Is_Called_With_Non_Existent_Id()
        {
            var logger = Substitute.For <ILogger <GenericRepository <Domain.Models.EmailHistory> > >();

            using var dbContext = InMemoryDbContext.Create();
            dbContext.Add(new ValidEmailHistoryBuilder().Build());
            dbContext.SaveChanges();

            var repository = new GenericRepository <Domain.Models.EmailHistory>(logger, dbContext);

            _result = repository.GetSingleOrDefaultAsync(x => x.Id == 2)
                      .GetAwaiter().GetResult();
        }
        public When_EmailHistoryRepository_Update_Is_Called()
        {
            var logger = Substitute.For <ILogger <GenericRepository <Domain.Models.EmailHistory> > >();

            using var dbContext = InMemoryDbContext.Create();
            var entity = new ValidEmailHistoryBuilder().Build();

            dbContext.Add(entity);
            dbContext.SaveChanges();

            var repository = new GenericRepository <Domain.Models.EmailHistory>(logger, dbContext);

            entity.SentTo = "*****@*****.**";

            entity.ModifiedOn = new DateTime(2019, 11, 01, 12, 30, 00);
            entity.ModifiedBy = "UpdateTestUser";

            repository.UpdateAsync(entity).GetAwaiter().GetResult();

            _result = repository.GetSingleOrDefaultAsync(x => x.Id == 1)
                      .GetAwaiter().GetResult();
        }