コード例 #1
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();
        }
        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.FedEx)).Returns(new FedExBuildValueFactory());
            _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.FedEx));
            _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();
        }
コード例 #3
0
        public void can_get_envelopes()
        {
            var ediXmlBuildValues = new EdiXmlBuildValues {
                ElementDelimiter = "~", SegmentDelimiter = "\n"
            };

            var root = new XElement("file");
            var ic   = new EDIXmlInterchangeControl(_seg);
            var grp  = new EDIXmlFunctionGroup(_seg);

            grp.AddTransactionSet(new EDIXmlTransactionSet(_seg));
            grp.AddTransactionSet(new EDIXmlTransactionSet(_seg));
            ic.AddFunctionGroup(grp);
            root.Add(ic);
            IEnumerable <XElement> ic_s = root.EDIInterchangeControls();

            foreach (EDIXmlInterchangeControl i in ic_s)
            {
                IEnumerable <XElement> grp_s = i.EDIFunctionGroups();
                foreach (EDIXmlFunctionGroup g in grp_s)
                {
                    List <XElement> ts_s = g.EDITransactions().ToList();
                    foreach (EDIXmlTransactionSet t in ts_s)
                    {
                        Assert.That(t.Label == "ST");
                    }
                }
            }
            //Assert.That(root.EDINodes("ISA").ToList().Count == 1);
        }
コード例 #4
0
        public void can_create_document()
        {
            //ARRANGE
            var testMessageDocumentCreator = new Mock <ICreateEdiContentFrom <testMessage> >();
            //testMessageDocumentCreator.Setup(x => x.ReceiverId).Returns("ReceiverId");
            var transactionSet = new EDIXmlTransactionSet(_seg);

            transactionSet.ISA = new ISAEntity {
                ControlNumber = 1, GroupID = "IN"
            };
            testMessageDocumentCreator.Setup(x => x.BuildFromMessage(_message)).Returns(transactionSet);
            testMessageDocumentCreator.Setup(x => x.SegmentFactory).Returns(_seg);
            _configuration.Setup(x => x.TestMode).Returns(true);
            _resolver.Setup(r => r.GetSegmentFactoryFor(It.IsAny <BusinessPartner>())).Returns(_seg);
            //ACT
            EDIXmlInterchangeControl expectedDocument =
                _sut.CreateDocumentWith(testMessageDocumentCreator.Object, _message).GetInterchangeControl();

            //ASSERT
            testMessageDocumentCreator.VerifyAll();
            _configuration.VerifyAll();
            Assert.That(expectedDocument.EDIFunctionGroups()
                        .First().EDITransactions()
                        .First().Value
                        == transactionSet.Value);
        }
コード例 #5
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();
        }
コード例 #6
0
        public EDITransmissionPackage CreateDocumentWith(ICreateEdiContentFrom <T> creator, T message)
        {
            var ediXmlInterchangeControl = new EDIXmlInterchangeControl(creator.SegmentFactory);

            EDIXmlTransactionSet ediTransactionSet = creator.BuildFromMessage(message);

            var isaControlNumber = ediTransactionSet.ISA.ControlNumber;
            var functionalID     = ediTransactionSet.ISA.GroupID;

            ediXmlInterchangeControl.SetHeader(isaControlNumber, functionalID, _configuration.TestMode);

            ediXmlInterchangeControl.AddContent(ediTransactionSet);

            ediXmlInterchangeControl.SetFooter(isaControlNumber, 1);

            return(new EDITransmissionPackage(ediXmlInterchangeControl, creator.GetBusinessPartner()));
        }
コード例 #7
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.Initech);
            _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();
        }
コード例 #8
0
 public EDITransmissionPackage(EDIXmlInterchangeControl ic, BusinessPartner bp)
 {
     _ic = ic;
     _bp = bp;
 }
コード例 #9
0
        public void can_get_envelopes()
        {
            var ediXmlBuildValues = new EdiXmlBuildValues {ElementDelimiter = "~", SegmentDelimiter = "\n"};

            var root = new XElement("file");
            var ic = new EDIXmlInterchangeControl(_seg);
            var grp = new EDIXmlFunctionGroup(_seg);
            grp.AddTransactionSet(new EDIXmlTransactionSet(_seg));
            grp.AddTransactionSet(new EDIXmlTransactionSet(_seg));
            ic.AddFunctionGroup(grp);
            root.Add(ic);
            IEnumerable<XElement> ic_s = root.EDIInterchangeControls();
            foreach (EDIXmlInterchangeControl i in ic_s)
            {
                IEnumerable<XElement> grp_s = i.EDIFunctionGroups();
                foreach (EDIXmlFunctionGroup g in grp_s)
                {
                    List<XElement> ts_s = g.EDITransactions().ToList();
                    foreach (EDIXmlTransactionSet t in ts_s)
                        Assert.That(t.Label == "ST");
                }
            }
            //Assert.That(root.EDINodes("ISA").ToList().Count == 1);
        }