public When_EmployerFeedbackService_Is_Called_To_Send_Employer_Feedback_Emails_When_EmployerFeedbackEmailsEnabled_Is_False( EmployerFeedbackFixture testFixture) { _dateTimeProvider = Substitute.For <IDateTimeProvider>(); _emailService = Substitute.For <IEmailService>(); _bankHolidayRepository = Substitute.For <IRepository <BankHoliday> >(); _opportunityRepository = Substitute.For <IOpportunityRepository>(); _opportunityRepository.GetReferralsForEmployerFeedbackAsync(Arg.Any <DateTime>()) .Returns(new EmployerFeedbackDtoListBuilder().Build()); testFixture.Configuration.EmployerFeedbackEmailsEnabled = false; var employerFeedbackService = new EmployerFeedbackService( testFixture.Configuration, testFixture.Logger, _emailService, _bankHolidayRepository, _opportunityRepository, _dateTimeProvider); _result = employerFeedbackService .SendEmployerFeedbackEmailsAsync("TestUser") .GetAwaiter().GetResult(); }
public When_EmployerFeedbackService_Is_Called_To_Send_Employer_Feedback_Emails_With_Multiple_Employers( EmployerFeedbackFixture testFixture) { _testFixture = testFixture; var dateTimeProvider = Substitute.For <IDateTimeProvider>(); dateTimeProvider .UtcNow() .Returns(new DateTime(2019, 12, 13)); dateTimeProvider .GetNthWorkingDayDate(Arg.Any <DateTime>(), Arg.Any <int>(), Arg.Any <IList <DateTime> >()) .Returns(new DateTime(2019, 12, 13)); _emailService = Substitute.For <IEmailService>(); _opportunityRepository = Substitute.For <IOpportunityRepository>(); _opportunityRepository.GetReferralsForEmployerFeedbackAsync(Arg.Any <DateTime>()) .Returns(new EmployerFeedbackDtoListBuilder().AddAnotherEmployer() .Build()); var mockDbSet = new BankHolidayListBuilder() .Build() .AsQueryable() .BuildMockDbSet(); var contextOptions = new DbContextOptions <MatchingDbContext>(); var mockContext = Substitute.For <MatchingDbContext>(contextOptions); mockContext.Set <BankHoliday>().Returns(mockDbSet); IRepository <BankHoliday> bankHolidayRepository = new GenericRepository <BankHoliday>(NullLogger <GenericRepository <BankHoliday> > .Instance, mockContext); var employerFeedbackService = new EmployerFeedbackService( _testFixture.Configuration, _testFixture.Logger, _emailService, bankHolidayRepository, _opportunityRepository, dateTimeProvider); _result = employerFeedbackService .SendEmployerFeedbackEmailsAsync("TestUser") .GetAwaiter().GetResult(); }