Advertisement
Guest User

Untitled

a guest
Apr 7th, 2017
1,050
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.62 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Centiro.IntegrationTest;
  7. using Centiro.Service.TMS.UniverseImplementations.EventHub;
  8. using Centiro.Service.TMS.UniverseImplementations.EventHub.Operations;
  9. using Centiro.Service.TMS.UniverseImplementations.EventHub.Operations.EventCore;
  10. using CentiroMain;
  11. using Microsoft.VisualStudio.TestTools.UnitTesting;
  12.  
  13. namespace Centiro.Service.TMS.UniverseImpl.IntegratTests.EventHub.AddEventTests
  14. {
  15. [TestClass]
  16. public class DeliveryWindowReviewEventTests
  17. {
  18. [TestMethod]
  19. public void AddEvent_DeliveryWindowReview_SetNewTimeWindow_ShouldSetNewTimeWindow()
  20. {
  21. using (var helper = new DbIntegrationTestHelper())
  22. {
  23. AddEventTestHelper.InsertTranslations(helper);
  24.  
  25. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  26. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
  27. shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 10, 10, 00);
  28. shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
  29. shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
  30.  
  31. shipment.Dates.SaveDates();
  32.  
  33. helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
  34. "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
  35.  
  36. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  37. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  38.  
  39. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  40.  
  41. var service = new EventHubService();
  42. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  43.  
  44. shipment.Get();
  45. shipment.Dates.Search();
  46.  
  47. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  48. var deliveryDate = shipment.Attributes["DeliveryDate"];
  49. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  50. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  51. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  52. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  53.  
  54. Assert.AreEqual(attribute, "Y");
  55. Assert.AreEqual(startTime, "08:10");
  56. Assert.AreEqual(endTime, "12:10");
  57. Assert.AreEqual(startDateTime, new DateTime(2017,02,24,08,10,00));
  58. Assert.AreEqual(endDateTime, new DateTime(2017,02,24,12,10,00));
  59. Assert.AreEqual(deliveryDate, "2017-02-24");
  60. }
  61. }
  62.  
  63. [TestMethod]
  64. public void AddEvent_DeliveryWindowReview_SetNewTimeWindowBeforeOriginalFrom_NewFromSlotShouldBeOldFromSlot()
  65. {
  66. using (var helper = new DbIntegrationTestHelper())
  67. {
  68. AddEventTestHelper.InsertTranslations(helper);
  69.  
  70. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  71. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
  72. shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 08, 10, 00);
  73. shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
  74. shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
  75.  
  76. shipment.Dates.SaveDates();
  77.  
  78. helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
  79. "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
  80.  
  81. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  82. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  83.  
  84. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  85.  
  86. var service = new EventHubService();
  87. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  88.  
  89. shipment.Get();
  90. shipment.Dates.Search();
  91.  
  92. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  93. var deliveryDate = shipment.Attributes["DeliveryDate"];
  94. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  95. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  96. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  97. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  98.  
  99. Assert.AreEqual(attribute, "Y");
  100. Assert.AreEqual(startTime, "07:00");
  101. Assert.AreEqual(endTime, "11:00");
  102. Assert.AreEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
  103. Assert.AreEqual(endDateTime, new DateTime(2017, 02, 24, 11, 00, 00));
  104. Assert.AreEqual(deliveryDate, "2017-02-24");
  105. }
  106. }
  107.  
  108. [TestMethod]
  109. public void AddEvent_DeliveryWindowReview_NoCodeTranslation_ShouldNotSetNewTimeWindow()
  110. {
  111. using (var helper = new DbIntegrationTestHelper())
  112. {
  113. AddEventTestHelper.InsertTranslations(helper);
  114.  
  115. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  116. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
  117. shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 10, 10, 00);
  118. shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
  119. shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
  120.  
  121. shipment.Dates.SaveDates();
  122.  
  123. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  124. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  125.  
  126. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  127.  
  128. var service = new EventHubService();
  129. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  130.  
  131. shipment.Get();
  132. shipment.Dates.Search();
  133.  
  134. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  135. var deliveryDate = shipment.Attributes["DeliveryDate"];
  136. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  137. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  138. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  139. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  140.  
  141. Assert.AreEqual(attribute, "N");
  142. Assert.AreEqual(startTime, "07:00");
  143. Assert.AreEqual(endTime, "13:00");
  144. Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
  145. Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
  146. Assert.AreEqual(deliveryDate, "2017-02-24");
  147. }
  148. }
  149.  
  150.  
  151. [TestMethod]
  152. public void AddEvent_DeliveryWindowReview_SetNewTimeWindowAfterOriginalTo_NewToSlotShouldBeOldToSlot()
  153. {
  154. using (var helper = new DbIntegrationTestHelper())
  155. {
  156. AddEventTestHelper.InsertTranslations(helper);
  157.  
  158. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  159. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
  160. shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 11, 10, 00);
  161. shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
  162. shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
  163.  
  164. shipment.Dates.SaveDates();
  165.  
  166. helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
  167. "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
  168.  
  169. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  170. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  171.  
  172. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  173.  
  174. var service = new EventHubService();
  175. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  176.  
  177. shipment.Get();
  178. shipment.Dates.Search();
  179.  
  180. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  181. var deliveryDate = shipment.Attributes["DeliveryDate"];
  182. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  183. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  184. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  185. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  186.  
  187. Assert.AreEqual(attribute, "Y");
  188. Assert.AreEqual(startTime, "09:00");
  189. Assert.AreEqual(endTime, "13:00");
  190. Assert.AreEqual(startDateTime, new DateTime(2017, 02, 24, 09, 00, 00));
  191. Assert.AreEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
  192. Assert.AreEqual(deliveryDate, "2017-02-24");
  193. }
  194. }
  195.  
  196. [TestMethod]
  197. public void AddEvent_DeliveryWindowReview_RouteIsSnow_ShouldNotSetNewWindow()
  198. {
  199. using (var helper = new DbIntegrationTestHelper())
  200. {
  201. AddEventTestHelper.InsertTranslations(helper);
  202.  
  203. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  204. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "Vs1");
  205. shipment.Dates["PTA"] = new DateTime(2016, 02, 24, 11, 10, 00);
  206. shipment.Dates["DeliverySlotFrom"] = new DateTime(2016, 02, 24, 07, 00, 00);
  207. shipment.Dates["DeliverySlotTo"] = new DateTime(2016, 02, 24, 13, 00, 00);
  208.  
  209. shipment.Dates.SaveDates();
  210.  
  211. helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
  212. "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
  213.  
  214. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  215. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  216.  
  217. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  218.  
  219. var service = new EventHubService();
  220. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  221.  
  222. shipment.Get();
  223. shipment.Dates.Search();
  224.  
  225. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  226. var deliveryDate = shipment.Attributes["DeliveryDate"];
  227. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  228. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  229. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  230. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  231.  
  232. Assert.AreEqual(attribute, "N");
  233. Assert.AreEqual(startTime, "07:00");
  234. Assert.AreEqual(endTime, "13:00");
  235. Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
  236. Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
  237. Assert.AreEqual(deliveryDate, "2016-02-24");
  238. }
  239. }
  240.  
  241. [TestMethod]
  242. public void AddEvent_DeliveryWindowReview_RouteIsExpress_ShouldNotSetNewWindow()
  243. {
  244. using (var helper = new DbIntegrationTestHelper())
  245. {
  246. AddEventTestHelper.InsertTranslations(helper);
  247.  
  248. var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
  249. freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "VX1");
  250. shipment.Dates["PTA"] = new DateTime(2016,02,24,11,10,00);
  251. shipment.Dates["DeliverySlotFrom"] = new DateTime(2016, 02, 24, 07, 00, 00);
  252. shipment.Dates["DeliverySlotTo"] = new DateTime(2016, 02, 24, 13, 00, 00);
  253.  
  254. shipment.Dates.SaveDates();
  255.  
  256. helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
  257. "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
  258.  
  259. var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
  260. attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
  261.  
  262. var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
  263.  
  264. var service = new EventHubService();
  265. service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
  266.  
  267. shipment.Get();
  268. shipment.Attributes.Search();
  269.  
  270. var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
  271. var deliveryDate = shipment.Attributes["DeliveryDate"];
  272. var startTime = shipment.Attributes["DeliveryWindowStartTime"];
  273. var endTime = shipment.Attributes["DeliveryWindowEndTime"];
  274. var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
  275. var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
  276.  
  277. Assert.AreEqual(attribute, "N");
  278. Assert.AreEqual(startTime, "07:00");
  279. Assert.AreEqual(endTime, "13:00");
  280. Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
  281. Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
  282. Assert.AreEqual(deliveryDate, "2016-02-24");
  283. }
  284. }
  285. }
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement