Пример #1
0
        public void InactiveTransactionIsActivated_ForEvents_EvenWhenAlreadyCurrent()
        {
            var inactiveClientTransaction = ClientTransaction.CreateRootTransaction();

            using (inactiveClientTransaction.EnterNonDiscardingScope())
            {
                using (ClientTransactionTestHelper.MakeInactive(inactiveClientTransaction))
                {
                    var transactionEventReceiverMock = MockRepository.GenerateStrictMock <ClientTransactionMockEventReceiver> (inactiveClientTransaction);
                    transactionEventReceiverMock
                    .Expect(mock => mock.SubTransactionCreated(Arg <ClientTransaction> .Is.Anything, Arg <SubTransactionCreatedEventArgs> .Is.Anything))
                    .WhenCalled(
                        mi =>
                    {
                        Assert.That(ClientTransaction.Current, Is.SameAs(inactiveClientTransaction));
                        Assert.That(ClientTransaction.Current.ActiveTransaction, Is.SameAs(inactiveClientTransaction));
                    });

                    var eventBroker = new ClientTransactionEventBroker(inactiveClientTransaction);
                    eventBroker.RaiseSubTransactionCreatedEvent(ClientTransactionObjectMother.Create());

                    transactionEventReceiverMock.VerifyAllExpectations();
                }
            }
        }
Пример #2
0
        public void Serializable()
        {
            var clientTransaction = ClientTransaction.CreateRootTransaction();
            var instance          = new ClientTransactionEventBroker(clientTransaction);

            instance.AddListener(new SerializableClientTransactionListenerFake());
            instance.Extensions.Add(new SerializableClientTransactionExtensionFake("bla"));

            var deserializedInstance = Serializer.SerializeAndDeserialize(instance);

            Assert.That(deserializedInstance.ClientTransaction, Is.Not.Null);

            Assert.That(deserializedInstance.Listeners, Is.Not.Empty);
            Assert.That(deserializedInstance.Extensions, Is.Not.Empty);
        }
Пример #3
0
        public override void SetUp()
        {
            base.SetUp();

            _clientTransaction = ClientTransaction.CreateRootTransaction();

            _eventBroker = new ClientTransactionEventBroker(_clientTransaction);

            _domainObject1       = _clientTransaction.ExecuteInScope(() => DomainObjectIDs.Order1.GetObject <Order> ());
            _domainObject2       = _clientTransaction.ExecuteInScope(() => DomainObjectIDs.Order3.GetObject <Order> ());
            _invalidDomainObject = _clientTransaction.ExecuteInScope(
                () =>
            {
                var order = Order.NewObject();
                order.Delete();
                return(order);
            });

            _mockRepository                 = new MockRepository();
            _order1EventReceiverMock        = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_domainObject1);
            _order2EventReceiverMock        = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_domainObject2);
            _invalidObjectEventReceiverMock = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (_invalidDomainObject);

            _unloadEventReceiverMock = _mockRepository.StrictMock <IUnloadEventReceiver> ();
            ((TestDomainBase)_domainObject1).SetUnloadEventReceiver(_unloadEventReceiverMock);
            ((TestDomainBase)_domainObject2).SetUnloadEventReceiver(_unloadEventReceiverMock);

            _transactionEventReceiverMock = _mockRepository.StrictMock <ClientTransactionMockEventReceiver> (_clientTransaction);

            _loadEventReceiverMock = _mockRepository.StrictMock <ILoadEventReceiver> ();
            ((TestDomainBase)_domainObject1).SetLoadEventReceiver(_loadEventReceiverMock);
            ((TestDomainBase)_domainObject2).SetLoadEventReceiver(_loadEventReceiverMock);

            _extensionMock = _mockRepository.StrictMock <IClientTransactionExtension> ();
            _extensionMock.Stub(stub => stub.Key).Return("extension");
            _extensionMock.Replay();
            _eventBroker.Extensions.Add(_extensionMock);
            _extensionMock.BackToRecord();

            _listenerMock = _mockRepository.StrictMock <IClientTransactionListener> ();
            _eventBroker.AddListener(_listenerMock);
        }