public EventsController( IRepository repository, IProcessedContentRepository processedContentRepository, EventEmailBuilder emailBuilder, IRssFeedFactory rssFeedFactory, ILogger <EventsController> logger, IApplicationConfiguration config, BusinessId businessId, IFilteredUrl filteredUrl, CalendarHelper helper, ITimeProvider timeProvider, IDateCalculator dateCalculator, IStockportApiEventsService stockportApiEventsService) { _repository = repository; _processedContentRepository = processedContentRepository; _emailBuilder = emailBuilder; _rssFeedFactory = rssFeedFactory; _logger = logger; _config = config; _businessId = businessId; _filteredUrl = filteredUrl; _helper = helper; _dateCalculator = dateCalculator; _stockportApiEventsService = stockportApiEventsService; }
public EventEmailBuilderTests() { _logger = new Mock <ILogger <EventEmailBuilder> >(); _emailClient = new Mock <IHttpEmailClient>(); var applicationConfiguration = new Mock <IApplicationConfiguration>(); applicationConfiguration.Setup(a => a.GetEventSubmissionEmail(It.IsAny <string>())) .Returns(AppSetting.GetAppSetting("EventSubmissionEmail")); applicationConfiguration.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>())) .Returns(AppSetting.GetAppSetting("EventSubmissionEmail")); _eventEmailBuilder = new EventEmailBuilder(_logger.Object, _emailClient.Object, applicationConfiguration.Object, new BusinessId("businessId")); }
public EventsControllerTest() { _eventsItem = new Event { Title = "title", Slug = "slug", Teaser = "teaser", ImageUrl = "image.png", ThumbnailImageUrl = "image.png", Description = "description", Fee = "fee", Location = "location", SubmittedBy = "submittedBy", EventDate = new DateTime(2016, 12, 30, 00, 00, 00), StartTime = "startTime", EndTime = "endTime", Breadcrumbs = new List <Crumb>(), Group = _group, Alerts = _alerts }; _categories = new List <string> { "Category 1", "Category 2" }; var mockTime = new Mock <ITimeProvider>(); _datetimeCalculator = new DateCalculator(mockTime.Object); var eventsCalendar = new EventResponse(new List <Event> { _eventsItem }, _categories); var eventItem = new ProcessedEvents("title", "slug", "teaser", "image.png", "image.png", "description", "fee", "location", "submittedBy", new DateTime(2016, 12, 30, 00, 00, 00), "startTime", "endTime", new List <Crumb>(), _categories, new MapDetails(), "booking information", _group, _alerts, string.Empty, string.Empty); var eventHomepage = new EventHomepage { Categories = new List <EventCategory>(), Rows = new List <EventHomepageRow>() }; // setup responses (with mock data) responseListing = new HttpResponse(200, eventsCalendar, ""); _responseDetail = new HttpResponse(200, eventItem, ""); var responseHomepage = new HttpResponse(200, eventHomepage, ""); var response404 = new HttpResponse(404, null, "not found"); // setup mocks _repository.Setup(o => o.Get <EventHomepage>(It.IsAny <string>(), It.IsAny <List <Query> >())) .ReturnsAsync(responseHomepage); _repository.Setup(o => o.Get <EventResponse>(It.IsAny <string>(), It.IsAny <List <Query> >())) .ReturnsAsync(responseListing); _processedContentRepository.Setup(o => o.Get <Event>("event-of-the-century", It.Is <List <Query> >(l => l.Count == 0))) .ReturnsAsync(_responseDetail); _processedContentRepository.Setup(o => o.Get <Event>("404-event", It.Is <List <Query> >(l => l.Count == 0))) .ReturnsAsync(response404); _emailClient = new Mock <IHttpEmailClient>(); _applicationConfiguration = new Mock <IApplicationConfiguration>(); _logger = new Mock <ILogger <EventsController> >(); _emaillogger = new Mock <ILogger <EventEmailBuilder> >(); _applicationConfiguration.Setup(a => a.GetEmailEmailFrom(It.IsAny <string>())) .Returns(AppSetting.GetAppSetting("GroupSubmissionEmail")); _eventEmailBuilder = new EventEmailBuilder(_emaillogger.Object, _emailClient.Object, _applicationConfiguration.Object, new BusinessId("businessId")); _mockRssFeedFactory = new Mock <IRssFeedFactory>(); _config = new Mock <IApplicationConfiguration>(); _filteredUrl = new Mock <IFilteredUrl>(); _config.Setup(o => o.GetRssEmail(BusinessId)).Returns(AppSetting.GetAppSetting("rss-email")); _config.Setup(o => o.GetEmailAlertsNewSubscriberUrl(BusinessId)).Returns(AppSetting.GetAppSetting("email-alerts-url")); _controller = new EventsController( _repository.Object, _processedContentRepository.Object, _eventEmailBuilder, _mockRssFeedFactory.Object, _logger.Object, _config.Object, new BusinessId(BusinessId), _filteredUrl.Object, null, null, _datetimeCalculator, null ); }