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); }
public void Consume(T message) { try { ICreateEdiContentFrom <T> ediContentCreator = _businessPartnerResolver.ResolveFrom(message); if (ediContentCreator == null) { throw new InvalidOperationException("No matching document creator was found for business partner " + message.BusinessPartnerCode + ", Document ID " + message.DocumentId); } EDITransmissionPackage package = _createEdiDocumentFrom.CreateDocumentWith(ediContentCreator, message); checkForProblems(message, package); _ediDocumentSaver.Save(package); //_ediDocumentSaver.SaveAsXml(package); Logger.Info(this, "Document Saved: " + package.GetInterchangeControl().Value); _postConsumeAction.Execute(message); } catch (Exception ex) { Logger.Error(this, "Error processing message", ex); throw; } }