コード例 #1
0
        public void can_process_two_partners()
        {
            InvoicedOrderMessage order = GetFedexOrder();

            _subscr.Consume(order);
            var flexOrder = GetFlexOrder();

            _subscr.Consume(flexOrder);
            _subscr.Consume(order);
        }
コード例 #2
0
        public void can_consume_shipped_order_message()
        {
            //ARRANGE
            var message = new OrderHasBeenShippedMessage();

            message.Add(new ShippedLine());
            var ediContentCreator = new Mock <ICreateEdiContentFrom <OrderHasBeenShippedMessage> >();

            _businessPartnerResolver.Setup(x => x.ResolveFrom(message)).Returns(ediContentCreator.Object);
            var document = new EDIXmlInterchangeControl(_seg);
            var package  = new EDITransmissionPackage(document, BusinessPartner.FedEx);

            _ediDocumentCreator.Setup(x => x.CreateDocumentWith(ediContentCreator.Object, message))
            .Returns(package);
            _ediDocumentSaver.Setup(x => x.Save(It.IsAny <EDITransmissionPackage>()));
            _acceptMessages.Setup(x => x.Accept(message)).Returns(true);

            //ACT
            _sut.Consume(message);

            //ASSERT
            _executePostConsumeAction.Verify(x => x.Execute(message));
            _ediDocumentSaver.VerifyAll();
            _ediDocumentCreator.VerifyAll();
            _businessPartnerResolver.VerifyAll();
        }
コード例 #3
0
        public void can_consume_shipped_order_message()
        {
            //ARRANGE
            var message = new OrderHasBeenShippedMessage();

            message.Add(new ShippedLine());
            var ediContentCreator = new Mock <ICreateEdiContentFrom <OrderHasBeenShippedMessage> >();
            var buildValues       = new EdiXmlBuildValues {
                ElementDelimiter = "~", SegmentDelimiter = "\n"
            };

//            ediContentCreator.Setup(c => c.ReceiverId).Returns("xxxi");
//            ediContentCreator.Setup(c => c.ControlNumber).Returns(62);
//            ediContentCreator.Setup(c => c.EdiXmlBuildValues).Returns(buildValues);
//            ediContentCreator.Setup(c => c.FunctionalId).Returns("PO");

            _resolver.Setup(r => r.GetBuildValueFactoryFor(BusinessPartner.Initech)).Returns(new InitechBuildValueFactory());
            _businessPartnerResolver.Setup(x => x.ResolveFrom(message)).Returns(ediContentCreator.Object);
            var document = new EDIXmlInterchangeControl(_seg);

            _ediDocumentCreator.Setup(x => x.CreateDocumentWith(ediContentCreator.Object, message))
            .Returns(new EDITransmissionPackage(document, BusinessPartner.Initech));
            _ediDocumentSaver.Setup(x => x.Save(It.IsAny <EDITransmissionPackage>()));
            _acceptMessages.Setup(x => x.Accept(message)).Returns(true);

            //ACT
            _sut.Consume(message);

            //ASSERT
            _ediDocumentSaver.VerifyAll();
            _ediDocumentCreator.VerifyAll();
            _businessPartnerResolver.VerifyAll();
        }
コード例 #4
0
        public void can_consume_shipped_order_message()
        {
            //ARRANGE
            var message           = new InvoicedOrderMessage();
            var ediContentCreator = new Mock <ICreateEdiContentFrom <InvoicedOrderMessage> >();

            _businessPartnerResolver.Setup(x => x.ResolveFrom(message)).Returns(ediContentCreator.Object);
            var package = new EDITransmissionPackage(new EDIXmlInterchangeControl(_seg), BusinessPartner.FedEx);

            _ediDocumentCreator.Setup(x => x.CreateDocumentWith(ediContentCreator.Object, message))
            .Returns(package);
            _acceptMessages.Setup(x => x.Accept(message)).Returns(true);
            _ediDocumentSaver.Setup(x => x.Save(package));

            //ACT
            _sut.Consume(message);

            //ASSERT
            _ediDocumentSaver.VerifyAll();
            _ediDocumentCreator.VerifyAll();
            _businessPartnerResolver.VerifyAll();
        }