예제 #1
0
        public void Test_ExternalSupplier_FailOverService_DataNotRefreshed()
        {
            var supplier = this._supplierService.Suppliers.Where(x => x.Id == 2).First();
            IExternalInvoiceServiceManager mgr = new ExternalInvoiceServiceManager();
            var failoverInvoices = new FailoverInvoiceCollection();

            failoverInvoices.Invoices = new ExternalInvoice[]
            {
                new ExternalInvoice()
                {
                    TotalAmount = 100, Year = 2018
                }
                , new ExternalInvoice()
                {
                    TotalAmount = 100, Year = 2018
                }
            };
            //Just to simulate the data is not refreshed from past 2 months
            failoverInvoices.Timestamp = DateTime.Now.AddMonths(-2);
            mgr.EventDataNotRefreshed += delegate(object sender, ServiceManagerArgs e)
            {
                Assert.IsTrue(e.supplier.Id == 2);
            };
            var result = mgr.TryGetSpendSummaryFromFailoverService(supplier, failoverInvoices);

            Assert.IsTrue(result != null);
        }
예제 #2
0
        public void Test_ExternalSupplier_SucceessfulExternalService()
        {
            var supplier = this._supplierService.Suppliers.Where(x => x.Id == 2).First();
            IExternalInvoiceServiceManager mgr = new ExternalInvoiceServiceManager();
            var result = mgr.TryGetSpendSummaryFromExternalService(supplier, ExternalInvoiceService.GetInvoices);

            Assert.IsTrue(result != null);
        }
예제 #3
0
        public void Test_ExternalSupplier_FailedExternalService()
        {
            var supplier = this._supplierService.Suppliers.Where(x => x.Id == 2).First();
            IExternalInvoiceServiceManager mgr = new ExternalInvoiceServiceManager();

            mgr.EventExternalInvoiceServiceFailed += delegate(object sender, ServiceManagerArgs e)
            {
                Assert.IsTrue(e.supplier.Id == 2);
            };
            var result = mgr.TryGetSpendSummaryFromExternalService(supplier, null);
        }
예제 #4
0
        public void Test_ExternalSupplier_FailOverService_DataRefreshed()
        {
            var supplier = this._supplierService.Suppliers.Where(x => x.Id == 2).First();
            IExternalInvoiceServiceManager mgr = new ExternalInvoiceServiceManager();
            var failoverInvoices = new FailoverInvoiceCollection();

            failoverInvoices.Invoices = new ExternalInvoice[]
            {
                new ExternalInvoice()
                {
                    TotalAmount = 100, Year = 2018
                }
                , new ExternalInvoice()
                {
                    TotalAmount = 100, Year = 2018
                }
            };
            //Just to simulate the data is refreshed recently
            failoverInvoices.Timestamp = DateTime.Now;
            var result = mgr.TryGetSpendSummaryFromFailoverService(supplier, failoverInvoices);

            Assert.IsTrue(result != null);
        }
예제 #5
0
 public SpendService()
 {
     this.externalInvoiceServiceManager = new ExternalInvoiceServiceManager();
     this.externalInvoiceServiceManager.EventExternalInvoiceServiceFailed += ExternalInvoiceServiceManager_EventExternalInvoiceServiceFailed;
     this.externalInvoiceServiceManager.EventDataNotRefreshed             += ExternalInvoiceServiceManager_EventDataNotRefreshed;
 }