Exemplo n.º 1
0
        public void RaiseFilterQueryResultEvent()
        {
            var queryResult1 = QueryResultObjectMother.CreateQueryResult <Order> ();
            var queryResult2 = QueryResultObjectMother.CreateQueryResult <Order> ();
            var queryResult3 = QueryResultObjectMother.CreateQueryResult <Order> ();

            using (_mockRepository.Ordered())
            {
                _listenerMock.Expect(l => l.FilterQueryResult(_clientTransaction, queryResult1)).Return(queryResult2);
                _extensionMock.Expect(x => x.FilterQueryResult(_clientTransaction, queryResult2)).Return(queryResult3);
            }
            _mockRepository.ReplayAll();

            var result = _eventBroker.RaiseFilterQueryResultEvent(queryResult1);

            _mockRepository.VerifyAll();
            Assert.That(result, Is.SameAs(queryResult3));
        }
Exemplo n.º 2
0
        public void ReplaceWholeCollectionInOneToManyRelation()
        {
            var oldCollection    = _order1.OrderItems;
            var removedOrderItem = oldCollection[0];
            var stayingOrderItem = oldCollection[1];
            var addedOrderItem   = OrderItem.NewObject();

            var newCollection = new ObjectList <OrderItem> {
                stayingOrderItem, addedOrderItem
            };

            _mockRepository.BackToRecord(_extension);
            var removedOrderItemEventReceiverMock = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (removedOrderItem);

            _mockRepository.StrictMock <DomainObjectMockEventReceiver> (stayingOrderItem);
            var addedOrderItemEventReceiverMock = _mockRepository.StrictMock <DomainObjectMockEventReceiver> (addedOrderItem);

            using (_mockRepository.Ordered())
            {
                _extension.Expect(mock => mock.RelationChanging(
                                      TestableClientTransaction, removedOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null));
                removedOrderItemEventReceiverMock.Expect(mock => mock.RelationChanging(GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null));

                _extension.Expect(mock => mock.RelationChanging(
                                      TestableClientTransaction, addedOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1));
                addedOrderItemEventReceiverMock.Expect(mock => mock.RelationChanging(GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1));

                _extension.Expect(mock => mock.RelationChanging(
                                      TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), removedOrderItem, null));
                _order1EventReceiver.Expect(mock => mock.RelationChanging(GetEndPointDefinition(typeof(Order), "OrderItems"), removedOrderItem, null));

                _extension.Expect(mock => mock.RelationChanging(
                                      TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), null, addedOrderItem));
                _order1EventReceiver.Expect(mock => mock.RelationChanging(GetEndPointDefinition(typeof(Order), "OrderItems"), null, addedOrderItem));

                _order1EventReceiver.Expect(mock => mock.RelationChanged(GetEndPointDefinition(typeof(Order), "OrderItems"), null, addedOrderItem));
                _extension.Expect(mock => mock.RelationChanged(TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), null, addedOrderItem));

                _order1EventReceiver.Expect(mock => mock.RelationChanged(GetEndPointDefinition(typeof(Order), "OrderItems"), removedOrderItem, null));
                _extension.Expect(mock => mock.RelationChanged(TestableClientTransaction, _order1, GetEndPointDefinition(typeof(Order), "OrderItems"), removedOrderItem, null));

                addedOrderItemEventReceiverMock.Expect(mock => mock.RelationChanged(GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1));
                _extension.Expect(mock => mock.RelationChanged(TestableClientTransaction, addedOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), null, _order1));

                removedOrderItemEventReceiverMock.Expect(mock => mock.RelationChanged(GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null));
                _extension.Expect(mock => mock.RelationChanged(TestableClientTransaction, removedOrderItem, GetEndPointDefinition(typeof(OrderItem), "Order"), _order1, null));
            }

            _mockRepository.ReplayAll();

            _order1.OrderItems = newCollection;

            _mockRepository.VerifyAll();
        }
        protected AllMethodOptions ExpectRollingBackEventsWithCustomOptions(params Tuple <DomainObject, DomainObjectMockEventReceiver>[] domainObjectsAndMocks)
        {
            using (MockRepository.Ordered())
            {
                var domainObjects = domainObjectsAndMocks.Select(t => t.Item1).ToArray();
                _listenerMock
                .Expect(mock => mock.TransactionRollingBack(Arg.Is(Transaction), ArgIsDomainObjectSet(domainObjects)));
                var extensionOptions = _extensionMock
                                       .Expect(mock => mock.RollingBack(Arg.Is(Transaction), ArgIsDomainObjectSet(domainObjects)));
                var transactionOptions = TransactionMockEventReceiver
                                         .Expect(mock => mock.RollingBack(domainObjects))
                                         .WithCurrentTransaction(Transaction);

                IMethodOptions <RhinoMocksExtensions.VoidType>[] domainObjectOptions;
                using (_mockRepository.Unordered())
                {
                    domainObjectOptions = domainObjectsAndMocks.Select(t => t.Item2.Expect(mock => mock.RollingBack())).ToArray();
                }
                return(new AllMethodOptions(extensionOptions, transactionOptions, domainObjectOptions));
            }
        }
        public void TransactionInitialize()
        {
            using (_mockRepository.Ordered())
            {
                _extension1.Expect(mock => mock.TransactionInitialize(TestableClientTransaction));
                _extension2.Expect(mock => mock.TransactionInitialize(TestableClientTransaction));
            }

            _mockRepository.ReplayAll();

            _collectionWithExtensions.TransactionInitialize(TestableClientTransaction);

            _mockRepository.VerifyAll();
        }