public void GetChillinDataForSierraPatron_OneArticleOrderedAndReadyThreeDaysAgoSv_ArticleDelivered() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(-3), DeliveryDate = new DateTime(1970, 1, 1), Type = "Artikel", Status = "05:Levererad", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "sv"); Assert.IsTrue(IsAsExpected(res[0], "Artikel", "Mio min Mio.", "Levererad")); } }
public void GetChillinDataForSierraPatron_OneBookOrderedSv_BookNotAvailableYet() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(-1), DeliveryDate = new DateTime(1970, 1, 1), Type = "Bok", Status = "01:Ny", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "sv"); Assert.IsTrue(IsAsExpected(res[0], "Bok", "Mio min Mio.", "Ej tillgänglig än")); } }
public void GetChillinDataForSierraPatron_OneBookLateMailContactEn_Late() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(-1), DeliveryDate = DateTime.Now.AddDays(-32), Type = "Bok", Status = "02:Åtgärda", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en"); Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "Late **")); } }
public void GetChillinDataForSierraPatron_OneBookRecalledEn_Recalled() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(12), DeliveryDate = DateTime.Now.AddDays(-6), Type = "Bok", Status = "12:Krävd", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en"); Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "Recalled *")); } }
public void GetChillinDataForSierraPatron_OneBookRetrievedEn_DuePlusDate() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(30), DeliveryDate = DateTime.Now.AddDays(-1), Type = "Bok", Status = "11:Utlånad", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en"); Assert.IsTrue(IsAsExpected(res[0], "Book", "Mio min Mio.", "DUE " + DateTime.Now.AddDays(30).ToString("yyyy-MM-dd"))); } }
public void GetChillinDataForSierraPatron_OneArticleOrderedEn_ArticleNotAvailableYet() { var bulkDataManager = new BulkDataManager(CreateFakeSearcher( new List <OrderItemModel>() { new OrderItemModel() { DueDate = DateTime.Now.AddDays(-3), DeliveryDate = new DateTime(1970, 1, 1), Type = "Artikel", Status = "03:Beställd", OriginalOrder = "Mio min Mio." } } )); using (ShimsContext.Create()) { var res = bulkDataManager.GetChillinDataForSierraPatron(42, "en"); Assert.IsTrue(IsAsExpected(res[0], "Article", "Mio min Mio.", "Not available yet")); } }
public static void RegisterTypes(IUnityContainer container) { container.RegisterType <IConfiguration, DefaultChillinConfiguration>(); var config = container.Resolve <IConfiguration>(); var elasticClientSettings = new ConnectionSettings(new System.Uri(config.ElasticSearchUrl)); elasticClientSettings.DefaultIndex(config.ElasticSearchIndex); var elasticClient = new ElasticClient(elasticClientSettings); container.RegisterInstance(typeof(IContentService), ApplicationContext.Current.Services.ContentService); container.RegisterInstance(typeof(IMediaService), ApplicationContext.Current.Services.MediaService); container.RegisterInstance <IElasticClient>(elasticClient); container.RegisterType <IExchangeMailWebApi, ExchangeMailWebApi>(); container.RegisterType <ISourceFactory, ChalmersSourceFactory>(); container.RegisterType <IMediaItemManager, BlobStorageMediaItemManager>(); container.RegisterType <IMediaItemManager, UmbracoMediaItemManager>("Legacy"); container.RegisterType <IOrderItemSearcher, ElasticSearchOrderItemSearcher>(); container.RegisterType <ITemplateService, ElasticsearchTemplateService>(); container.RegisterType <IAffiliationDataProvider, SolrLibcdksAffiliationDataProvider>(); container.RegisterType <IJsonService, JsonService>(); container.RegisterType <IFolioItemService, FolioItemService>(); container.RegisterType <IFolioRepository, FolioRepository>(); container.RegisterType <IFolioService, FolioService>(); container.RegisterType <IFolioInstanceService, FolioInstanceService>(); container.RegisterType <IFolioHoldingService, FolioHoldingService>(); container.RegisterType <IFolioCirculationService, FolioCirculationService>(); container.RegisterType <IChillinTextRepository, ChillinTextRepository>(); container.RegisterType <IFolioUserService, FolioUserService>(); var templateService = container.Resolve <ITemplateService>(); var affiliationDataProvider = container.Resolve <IAffiliationDataProvider>(); // Create all our singleton type instances. var mailService = new MailService(container.Resolve <IMediaItemManager>(), container.Resolve <IExchangeMailWebApi>()); var notifier = new Notifier(); var umbraco = new UmbracoWrapper(); var orderItemManager = new EntityFrameworkOrderItemManager(umbraco, container.Resolve <IOrderItemSearcher>()); var legacyOrderItemManager = new OrderItemManager(umbraco); var providerService = new ProviderService(container.Resolve <IOrderItemSearcher>()); var bulkDataManager = new BulkDataManager(container.Resolve <IOrderItemSearcher>()); // Connect instances that depend on eachother. notifier.SetOrderItemManager(orderItemManager, umbraco); orderItemManager.SetNotifier(notifier); // Hook up everything that is needed for us to function. container.RegisterInstance(typeof(UmbracoContext), UmbracoContext.Current); container.RegisterInstance(typeof(IMemberInfoManager), new MemberInfoManager()); container.RegisterInstance(typeof(IUmbracoWrapper), umbraco); container.RegisterInstance(typeof(INotifier), notifier); container.RegisterInstance(typeof(IOrderItemManager), orderItemManager); container.RegisterInstance <IOrderItemManager>("Legacy", legacyOrderItemManager); container.RegisterInstance(typeof(IAutomaticMailSendingEngine), new AutomaticMailSendingEngine(container.Resolve <IOrderItemSearcher>(), templateService, orderItemManager, mailService)); container.RegisterInstance(typeof(IMailService), mailService); container.RegisterInstance(typeof(IProviderService), providerService); container.RegisterInstance(typeof(IBulkDataManager), bulkDataManager); container.RegisterInstance <IPatronDataProvider>(new FolioPatronDataProvider(templateService, affiliationDataProvider).Connect()); }