public void TEST_NAME() { var messaage = new OrderRequestReceivedMessage { BusinessPartnerCode = BusinessPartner.Initech.Code, BusinessPartnerNumber = BusinessPartner.Initech.Number, ControlNumber = "1", CustomerPO = "PO-100", Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "100" }, CustomerName = "test co." }, BusinessProcessName = "business process name", RequestDate = SystemTime.Now().ToString(), }; messaage.Add(new CustomerOrderLine { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "100" }, CustomerPartNumber = "200", CustomerPO = "90909", ItemDescription = "description", TestMode = true }); messaage.Add(new CustomerOrderLine { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "200" }, CustomerPartNumber = "300", CustomerPO = "40909", ItemDescription = "description2", TestMode = true }); messaage.ShipToAddress = new Address { Address1 = "addr1", Address2 = "addr2", AddressCode = new AddressCode { CustomerCode = "ship to" }, AddressName = "Ship To", AddressType = "ST", City = "city", Country = "USA", State = "State", Zip = "ddd" }; Console.WriteLine(messaage); }
public void can_extract_addresses() { ObjectFactory.Initialize(x => { x.For <IAddressParser>().Use <AddressParser>(); }); _aparse = ObjectFactory.GetInstance <IAddressParser>(); var order = new OrderRequestReceivedMessage { Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "Initech" }, CustomerName = "Initech" } }; var lst = new List <Segment> { new Segment { Contents = "N1*ST*EPS LOADING DOCK*92*SUSA", Label = "N1".GetSegmentLabel() }, new Segment { Contents = "N3*12825 FLUSHING MEADOWS DR FL 2*STE 280", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Third Floor*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Next to the bank*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N4*SAINT LOUIS*MO*638592*US", Label = "N4".GetSegmentLabel() }, new Segment { Contents = "N1*BT*EPS SETTLEMENTS GROUP*92*SUSA", Label = "N1".GetSegmentLabel() }, new Segment { Contents = "N3*12825 FLUSHING MEADOWS DR FL 2*STE 280", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Third Floor*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Next to the bank*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N4*SAINT LOUIS*MO*638592*US", Label = "N4".GetSegmentLabel() }, new Segment { Contents = "SE*16*0001~", Label = SegmentLabel.DocumentClose } }; _aparse.ProcessAddresses(lst, order); Assert.That(order.ShipToAddress.AddressName == "EPS LOADING DOCK"); Assert.That(order.Customer.BillToAddress.AddressName == "EPS SETTLEMENTS GROUP"); }
public void can_process_addresses_and_admin_contacts() { //ARRANGE var segmentList = new List <Segment> { new Segment { Contents = "ST*850*1001", Label = SegmentLabel.DocumentLabel }, new Segment { Contents = "BEG*00*SA*25151**20120625", Label = "BEG".GetSegmentLabel() }, new Segment { Contents = "N1*ST*EPS LOADING DOCK*92*SUSA", Label = "N1".GetSegmentLabel() }, new Segment { Contents = "N3*12825 FLUSHING MEADOWS DR FL 2*STE 280", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Third Floor*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N3*Next to the bank*", Label = "N3".GetSegmentLabel() }, new Segment { Contents = "N4*SAINT LOUIS*MO*638592*US", Label = "N4".GetSegmentLabel() }, new Segment { Contents = "PER*DC*Jennifer Williams", Label = "PER".GetSegmentLabel() }, new Segment { Contents = "SE*9*1001", Label = SegmentLabel.DocumentClose } }; _genericParser.Setup(p => p.ProcessSegmentList(segmentList)).Returns(new OrderRequestReceivedMessage() { ControlNumber = "1001" }); _genericParser.Setup(p => p.ElementDelimiter).Returns("*"); _addrParser.Setup(x => x.ProcessAddresses(segmentList, It.IsAny <OrderRequestReceivedMessage>())).Returns(5); _lineParser.Setup(x => x.ProcessLines(It.IsAny <List <Segment> >(), It.IsAny <IEdiMessage>())); //_lineParser.Setup(x => x.SegmentCount).Returns(1); //ACT OrderRequestReceivedMessage orderRequestReceived = (OrderRequestReceivedMessage)_sut.ProcessSegmentList(segmentList).Message; //ASSERT Assert.That(segmentList.Count, Is.EqualTo(5)); _addrParser.VerifyAll(); // Assert.That(order.ShipToAddress.City == "SAINT LOUIS"); // Assert.That(order.ShipToAddress.AddressName == "EPS LOADING DOCK"); // Assert.That(order.ShipToAddress.Address1 == "12825 FLUSHING MEADOWS DR FL 2"); // Assert.That(order.ShipToAddress.State == "MO"); // Assert.That(order.ShipToAddress.Zip == "638592"); }
public void can_process_lines() { var segmentList = new List <Segment> { new Segment { Contents = "ST*850*0001", Label = SegmentLabel.DocumentLabel }, new Segment { Contents = "BEG*00*SA*4110076497**20071031*CUR*BY*USD", Label = "BEG".GetSegmentLabel() }, new Segment { Contents = "PO1*1*500*EA*6.75**IN*CAD33*VN*FINCAD33*PD*BIG BOX*TP*S", Label = "PO1".GetSegmentLabel() }, new Segment { Contents = "PO1*2*110*EA*4.75**IN*CAD34-A*VN*FINCAD34-A*PD*LITTLE BOX*TP*S", Label = "PO1".GetSegmentLabel() }, new Segment { Contents = "REF~CO~249040291943406", Label = "REF".GetSegmentLabel() }, new Segment { Contents = "REF~BF~249040", Label = "REF".GetSegmentLabel() }, new Segment { Contents = "REF~P4~9002087", Label = "REF".GetSegmentLabel() }, new Segment { Contents = "PO1*3*15*EA*1.75**IN*SCAD33*VN*FINSCAD33*PD*FOAM THINGY*TP*S", Label = "PO1".GetSegmentLabel() }, new Segment { Contents = "CTT~4", Label = SegmentLabel.SummaryLabel }, new Segment { Contents = "SE*5*0001", Label = SegmentLabel.DocumentClose } }; var order = new OrderRequestReceivedMessage(); var docLines = _sut.ProcessLines(segmentList, order); Assert.That(order.LineCount == 3); Assert.That(docLines.Count == 3); }
public void can_create_855() { OrderRequestReceivedMessage orderRequestReceived = GetOrder(); _sut = _resolver.ResolveFrom(orderRequestReceived); EDIXmlTransactionSet ediStr = _sut.BuildFromMessage(orderRequestReceived); Console.WriteLine(ediStr); }
public void can_create_interchange_control_with_855() { OrderRequestReceivedMessage orderRequestReceived = GetOrder(); _sut = _resolver.ResolveFrom(orderRequestReceived); var subscr = ServiceLocator.Current.GetInstance <Subscriber <OrderRequestReceivedMessage> >(); subscr.Consume(orderRequestReceived); }
public void will_throw_exception_if_no_lines() { var order = new OrderRequestReceivedMessage() { BusinessPartnerCode = BusinessPartner.Initech.Code, BusinessPartnerNumber = BusinessPartner.Initech.Number }; _sut = _resolver.ResolveFrom(order); _sut.BuildFromMessage(order); }
public void can_create_850() { OrderRequestReceivedMessage orderRequestReceived = GetOrder(); EDIXmlTransactionSet ediStr = _sut.BuildFromMessage(orderRequestReceived); Assert.That(ediStr.Value, Text.Contains(@"~")); Assert.That(ediStr.Value, Text.Contains("\n")); Console.WriteLine(ediStr.Value); }
// private void process_inner_ref(Segment rf, CustomerOrderLine line) // { // var arr = rf.GetElements(ElementDelimiter); // } private void load_beginning_segment(Segment segment, OrderRequestReceivedMessage orderRequestReceived) { var arr = segment.GetElements(ElementDelimiter); if (arr[0] != SegmentLabel.POBegin.Text) { throw new Invalid850Exception("BEG Segment is missing!"); } orderRequestReceived.CustomerPO = arr[3]; orderRequestReceived.RequestDate = DateTime.Now.ToString(); }
private OrderRequestReceivedMessage GetOrder() { var order = new OrderRequestReceivedMessage { ControlNumber = "0005456", CustomerPO = "C04134707", RequestDate = "20090318", BusinessPartnerCode = BusinessPartner.Initech.Code, BusinessPartnerNumber = BusinessPartner.Initech.Number, BusinessProcessName = "Initech Purchase Order Processing", Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = BusinessPartner.Initech.Code }, CustomerName = "Initech" } }; order.AddAddress(new Address { Address1 = "1900 Mockingbird Ln", AddressType = AddressTypeConstants.ShipTo, AddressCode = new AddressCode { CustomerCode = "AEGW" } , AddressName = "Billy Bob", City = "Hackensack", State = "New Jersey", Zip = "01234" }); order.Add(new CustomerOrderLine { CustomerPartNumber = "146525", ItemId = "FIN23430I0", LineNumber = 1, RequestedQuantity = 4, RequestedPrice = 1, ItemDescription = "" }); order.Add(new CustomerOrderLine { CustomerPartNumber = "CAD33", ItemId = "FIN23430I044", LineNumber = 2, RequestedQuantity = 4, RequestedPrice = 1, ItemDescription = "" }); return(order); }
public void can_process_footer() { var doc = new OrderRequestReceivedMessage { ControlNumber = "553230001" }; var segs = new List <Segment> { new Segment { Contents = "SE*1*553230001", Label = "SE".GetSegmentLabel() } }; EDIUtilities.ProcessFooter(segs, doc, "*", 1); }
private int process_summary(IEnumerable <Segment> segList, OrderRequestReceivedMessage orderRequestReceived) { Segment tempSeg = segList.FindSegmentByLabel(SegmentLabel.SummaryLabel); Console.WriteLine("Number of lines: " + orderRequestReceived.LineCount); if (tempSeg == null) { return(0); } if (orderRequestReceived.LineCount != tempSeg.GetElements(_genericParser.ElementDelimiter)[1].CastToInt()) { throw new Invalid850Exception("Line item count does not match number of lines"); } return(1); }
public void can_get_customer_id() { _sut = new OrderRequestReceivedMessage(); string custid = _sut.CustomerIDs.LegacyCustomerID; Assert.That(custid == null); _sut.Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "WALL01" }, CustomerName = "WALL-E" }; Assert.That(_sut.CustomerIDs.LegacyCustomerID == "WALL01"); }
private int process_admin_contact(ICollection <Segment> segList, OrderRequestReceivedMessage msg) { Segment tempSeg = segList.FindSegmentByLabel(SegmentLabel.ContactLabel); if (tempSeg == null) { return(0); } var els = tempSeg.GetElements(ElementDelimiter); if (els.Count() > 4) { msg.PhoneNumber = els[4]; } _contactName = els[2]; segList.Remove(tempSeg); return(1); }
public void can_notify_failure_of_CreateOrderMessage() { var message = new OrderRequestReceivedMessage { BusinessPartnerCode = "WWT" }; var exception = new Exception("Test Exception"); var fault = new Fault <OrderRequestReceivedMessage>(message, exception); _sut.NotifyFailureOf(fault); _notificationSender.Verify(x => x.SendNotification( It.IsAny <string>(), It.Is <IList <EmailAddress> >( a => a[0].Address == EmailAddressConstants.InformationtechnologygroupEmailAddress && a[1].Address == EmailAddressConstants.LogisticsEmailAddress), It.Is <string>(body => body.Contains(message.ToString()) && body.Contains(exception.ToString())))); }
public void can_add_address() { _sut = new OrderRequestReceivedMessage { Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "BLORG" } } }; _sut.AddAddress(new Address { AddressType = AddressTypeConstants.ShipTo, AddressName = "Yop" }); Address shipTo = _sut.ShipToAddress; Assert.That(shipTo.AddressName == "Yop"); }
public void can_extract_item_ids() { var segmentList = new List <Segment> { new Segment { Contents = "ST*850*0001", Label = SegmentLabel.DocumentLabel }, new Segment { Contents = "BEG*00*SA*4110076497**20071031*CUR*BY*USD", Label = "BEG".GetSegmentLabel() }, new Segment { Contents = "PO1*1*500*EA*6.75**IN*CAD33*VN*FINCAD33*PD*BIG BOX*TP*S", Label = "PO1".GetSegmentLabel() }, new Segment { Contents = "REF~CO~249040291943406", Label = "REF".GetSegmentLabel() }, new Segment { Contents = "REF~BF~249040", Label = "REF".GetSegmentLabel() }, new Segment { Contents = "CTT~4", Label = SegmentLabel.SummaryLabel }, new Segment { Contents = "SE*7*0001", Label = SegmentLabel.DocumentClose } }; var order = new OrderRequestReceivedMessage(); _sut.ProcessLines(segmentList, order); }
public void can_add_line() { _sut = new OrderRequestReceivedMessage(); _sut.Add(new CustomerOrderLine { CustomerPartNumber = "A0897-A00", Notes = "Hello", RequestedQuantity = 15, RequestedPrice = 5.66m, LineNumber = 1 }); _sut.Add(new CustomerOrderLine { CustomerPartNumber = "B0897-A00", Notes = "Hello", RequestedQuantity = 15, RequestedPrice = 5.96m, LineNumber = 2 }); Assert.That(_sut.LineCount == 2); Assert.That(_sut.LineCount == _sut.LineItems.Count); }
public void will_throw_exception_if_no_lines() { var order = new OrderRequestReceivedMessage(); _sut.BuildFromMessage(order); }
public void publish_CreateOrderMessage() { var messaage = new OrderRequestReceivedMessage { BusinessPartnerCode = BusinessPartner.Initech.Code, BusinessPartnerNumber = BusinessPartner.Initech.Number, ControlNumber = "1", CustomerPO = "PO-100", Customer = new Customer { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "100" }, CustomerName = "test co." }, BusinessProcessName = "business process name", RequestDate = SystemTime.Now().ToString() }; messaage.AddAddress(new Address { Address1 = "test addr1", Address2 = "addr2", AddressCode = new AddressCode() { CustomerCode = "TEST" }, AddressName = "office", AddressType = AddressTypeConstants.ShipTo, City = "austin", State = "TX", Zip = "88888" }); messaage.Add(new CustomerOrderLine { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "100" }, CustomerPartNumber = "222", CustomerPO = "333", ItemDescription = "desc", ItemId = "444", LineNumber = 1, Notes = "note", OrderMultiple = 1, OrderNumber = "555", RequestedPrice = 6.0m, RequestedQuantity = 2, RequestNumber = "1", TestMode = true }); messaage.LineItems.Add(new CustomerOrderLine { CustomerIDs = new CustomerAliases() { LegacyCustomerID = "100" }, CustomerPartNumber = "222b", CustomerPO = "333b", ItemDescription = "descb", ItemId = "444b", LineNumber = 2, Notes = "noteb", OrderMultiple = 2, OrderNumber = "555b", RequestedPrice = 7.0m, RequestedQuantity = 3, RequestNumber = "1b", TestMode = true }); Thread.Sleep(4000); Bus.Instance().Publish(messaage); }
private void publish(OrderRequestReceivedMessage message) { Bus.Instance().Publish(message); }