Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Centiro.IntegrationTest;
- using Centiro.Service.TMS.UniverseImplementations.EventHub;
- using Centiro.Service.TMS.UniverseImplementations.EventHub.Operations;
- using Centiro.Service.TMS.UniverseImplementations.EventHub.Operations.EventCore;
- using CentiroMain;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- namespace Centiro.Service.TMS.UniverseImpl.IntegratTests.EventHub.AddEventTests
- {
- [TestClass]
- public class DeliveryWindowReviewEventTests
- {
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_SetNewTimeWindow_ShouldSetNewTimeWindow()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
- shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 10, 10, 00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
- "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Dates.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "Y");
- Assert.AreEqual(startTime, "08:10");
- Assert.AreEqual(endTime, "12:10");
- Assert.AreEqual(startDateTime, new DateTime(2017,02,24,08,10,00));
- Assert.AreEqual(endDateTime, new DateTime(2017,02,24,12,10,00));
- Assert.AreEqual(deliveryDate, "2017-02-24");
- }
- }
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_SetNewTimeWindowBeforeOriginalFrom_NewFromSlotShouldBeOldFromSlot()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
- shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 08, 10, 00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
- "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Dates.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "Y");
- Assert.AreEqual(startTime, "07:00");
- Assert.AreEqual(endTime, "11:00");
- Assert.AreEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
- Assert.AreEqual(endDateTime, new DateTime(2017, 02, 24, 11, 00, 00));
- Assert.AreEqual(deliveryDate, "2017-02-24");
- }
- }
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_NoCodeTranslation_ShouldNotSetNewTimeWindow()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
- shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 10, 10, 00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Dates.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "N");
- Assert.AreEqual(startTime, "07:00");
- Assert.AreEqual(endTime, "13:00");
- Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
- Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
- Assert.AreEqual(deliveryDate, "2017-02-24");
- }
- }
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_SetNewTimeWindowAfterOriginalTo_NewToSlotShouldBeOldToSlot()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "V1");
- shipment.Dates["PTA"] = new DateTime(2017, 02, 24, 11, 10, 00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2017, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2017, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
- "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Dates.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "Y");
- Assert.AreEqual(startTime, "09:00");
- Assert.AreEqual(endTime, "13:00");
- Assert.AreEqual(startDateTime, new DateTime(2017, 02, 24, 09, 00, 00));
- Assert.AreEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
- Assert.AreEqual(deliveryDate, "2017-02-24");
- }
- }
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_RouteIsSnow_ShouldNotSetNewWindow()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "Vs1");
- shipment.Dates["PTA"] = new DateTime(2016, 02, 24, 11, 10, 00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2016, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2016, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
- "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Dates.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "N");
- Assert.AreEqual(startTime, "07:00");
- Assert.AreEqual(endTime, "13:00");
- Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
- Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
- Assert.AreEqual(deliveryDate, "2016-02-24");
- }
- }
- [TestMethod]
- public void AddEvent_DeliveryWindowReview_RouteIsExpress_ShouldNotSetNewWindow()
- {
- using (var helper = new DbIntegrationTestHelper())
- {
- AddEventTestHelper.InsertTranslations(helper);
- var shipment = helper.InsertShipment("codecar", "master@johnlewis.com", freeText1: "Scheduled",
- freeText4: "Scheduled", sequenceNo: "1", orderNo: "1", reference: "1", routeNo: "VX1");
- shipment.Dates["PTA"] = new DateTime(2016,02,24,11,10,00);
- shipment.Dates["DeliverySlotFrom"] = new DateTime(2016, 02, 24, 07, 00, 00);
- shipment.Dates["DeliverySlotTo"] = new DateTime(2016, 02, 24, 13, 00, 00);
- shipment.Dates.SaveDates();
- helper.InsertCodeTranslation("master@johnlewis.com", "johnlewisGVF",
- "NarrowWindowSize", "4", CodeTranslation.TypeOfCode.CustomCodeType);
- var newEvent1 = new NewTrackingEvent("1", "", "codecar", EventCodes.DeliveryWindowReview, "", "", "", "", "", "", EventCodes.DeliveryWindowReview, "", "", new string[0], 0, DateTime.Now, DateTime.Now,
- attributes: new List<KeyValuePair<string, string>>(new List<KeyValuePair<string, string>>()), deliveryOrderNo: "1", deliveryReference: "1");
- var eventPayload = new AddTrackingEventPayload { TemLookupCodeSen = "mastercodesen" };
- var service = new EventHubService();
- service.AddEvent(helper.ConnectionProvider, newEvent1, eventPayload);
- shipment.Get();
- shipment.Attributes.Search();
- var attribute = shipment.Attributes["DeliveryWindowCalculatedInd"];
- var deliveryDate = shipment.Attributes["DeliveryDate"];
- var startTime = shipment.Attributes["DeliveryWindowStartTime"];
- var endTime = shipment.Attributes["DeliveryWindowEndTime"];
- var startDateTime = shipment.Dates["NarrowDeliverySlotFrom"];
- var endDateTime = shipment.Dates["NarrowDeliverySlotTo"];
- Assert.AreEqual(attribute, "N");
- Assert.AreEqual(startTime, "07:00");
- Assert.AreEqual(endTime, "13:00");
- Assert.AreNotEqual(startDateTime, new DateTime(2017, 02, 24, 07, 00, 00));
- Assert.AreNotEqual(endDateTime, new DateTime(2017, 02, 24, 13, 00, 00));
- Assert.AreEqual(deliveryDate, "2016-02-24");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement