Пример #1
0
        public void Updating_InvoiceStatus_Triggers_Events_And_Invoice_Is_Passed()
        {
            _invoice.Id = 12;
            _invoice.ResetDirtyProperties();
            CommitCalled = false;

            _invoice.InvoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusCompletedMock();

            _invoiceService.Save(_invoice);

            Assert.IsTrue(_statusBefore);
            var firstOrDefault = _beforeInvoice.FirstOrDefault();

            if (firstOrDefault != null)
            {
                Assert.AreEqual(_invoice.InvoiceNumber, firstOrDefault.InvoiceNumber);
            }
            else
            {
                Assert.Fail();
            }

            Assert.IsTrue(_statusAfter);
            var orDefault = _afterInvoice.FirstOrDefault();

            if (orDefault != null)
            {
                Assert.AreEqual(_invoice.InvoiceDate, orDefault.InvoiceDate);
            }
            else
            {
                Assert.Fail();
            }
        }
Пример #2
0
        public void Event_Handler_Returns_Which_Invoices_In_Collection_Have_Status_Changed()
        {
            var invoices = new List <IInvoice>()
            {
                { MakeFakeInvoice(1) },
                { MakeFakeInvoice(2) },
                { MakeFakeInvoice(3) },
                { MakeFakeInvoice(4) },
                { MakeFakeInvoice(5) }
            };

            invoices[1].InvoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusCompletedMock();
            invoices[2].InvoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusCompletedMock();
            invoices[4].InvoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusCompletedMock();

            _invoiceService.Save(invoices);

            Console.Write(_beforeInvoice.Count().ToString());

            Assert.IsTrue(3 == _beforeInvoice.Count());
            Assert.IsTrue(invoices[1].InvoiceStatus.Name == _beforeInvoice.First().InvoiceStatus.Name);
            Assert.IsTrue(invoices[4].InvoiceStatus.Name == _beforeInvoice.Last().InvoiceStatus.Name);
        }
Пример #3
0
        protected override void Initialize()
        {
            _invoiceService = new InvoiceService(new MockUnitOfWorkProvider(), new RepositoryFactory());

            _invoice = _invoiceService.CreateInvoice(_customer, _invoiceStatus, "test111", "name", "address1",
                                                     "address2", "city", "state", "98225", "US", "*****@*****.**", string.Empty, string.Empty);

            Before         = null;
            After          = null;
            _beforeInvoice = null;
            _afterInvoice  = null;
            _statusBefore  = false;
            _statusAfter   = false;

            _customer = MockCustomerDataMaker.CustomerForInserting().MockSavedWithKey(111);

            _invoiceStatus = MockInvoiceStatusDataMaker.InvoiceStatusUnpaidMock();

            _anonymous = MockAnonymousCustomerDataMaker.AnonymousCustomerForInserting().MockSavedWithKey(Guid.NewGuid());

            InvoiceService.Saving += delegate(IInvoiceService sender, SaveEventArgs <IInvoice> args)
            {
                BeforeTriggered = true;
                Before          = args.SavedEntities.FirstOrDefault();
            };

            InvoiceService.Saved += delegate(IInvoiceService sender, SaveEventArgs <IInvoice> args)
            {
                AfterTriggered = true;
                After          = args.SavedEntities.FirstOrDefault();
            };


            InvoiceService.Created += delegate(IInvoiceService sender, Core.Events.NewEventArgs <IInvoice> args)
            {
                AfterTriggered = true;
                After          = args.Entity;
            };

            InvoiceService.Deleting += delegate(IInvoiceService sender, DeleteEventArgs <IInvoice> args)
            {
                BeforeTriggered = true;
                Before          = args.DeletedEntities.FirstOrDefault();
            };

            InvoiceService.Deleted += delegate(IInvoiceService sender, DeleteEventArgs <IInvoice> args)
            {
                AfterTriggered = true;
                After          = args.DeletedEntities.FirstOrDefault();
            };

            InvoiceService.StatusChanging += delegate(IInvoiceService sender, StatusChangeEventArgs <IInvoice> args) {
                _statusBefore  = true;
                _beforeInvoice = args.StatusChangedEntities;
            };

            InvoiceService.StatusChanged += delegate(IInvoiceService sender, StatusChangeEventArgs <IInvoice> args)
            {
                _statusAfter  = true;
                _afterInvoice = args.StatusChangedEntities;
            };

            // General tests
            MockDatabaseUnitOfWork.Committed += delegate {
                CommitCalled = true;
            };
        }