예제 #1
0
        public void GetIndexView_check_workerjoin_blank_worker_ok()
        {
            frb.AddWorkOrder(status: WorkOrder.iActive).AddWorkAssignment(assignWorker: true);
            dOptions.sortColName = "assignedWorker";
            dOptions.woid        = frb.ToWorkOrder().ID;
            dOptions.wa_grouping = "assigned";
            var result = frb.ToServWorkAssignment().GetIndexView(dOptions);
            var tolist = result.query.ToList();

            Assert.IsNotNull(tolist, "return value is null");
            Assert.IsInstanceOfType(result, typeof(dataTableResult <Machete.Service.DTO.WorkAssignmentsList>));
            Assert.AreEqual(1, result.query.Count()); //pending excluded
        }
예제 #2
0
        public void getSimpleAggregate_returns_list()
        {
            // arrange
            frb.AddWorkOrder(dateTimeOfWork: DateTime.Parse("1/2/2013"))
            .AddWorkAssignment(skill: 63);     // known skill ID from machete lookup initializer

            // act
            var result = frb.ToRepoReports()
                         .getSimpleAggregate(1, DateTime.Parse("2013/1/1"),
                                             DateTime.Parse("2014/1/1"));

            // assert
            Assert.IsNotNull(result);
            Assert.AreNotEqual(0, result.Count);
        }
예제 #3
0
        public void CountCancelled()
        {
            //Arrange
            DateTime beginDate = DateTime.Today;
            DateTime endDate   = DateTime.Today;

            var before    = frb.ToServReports().CountCancelled(beginDate, endDate).ToList();
            int beforeInt = before.Select(q => q.count).FirstOrDefault() ?? 0;

            frb.AddWorkOrder(beginDate, beginDate, beginDate, 1, WorkOrder.iCancelled);

            //Act
            var after = frb.ToServReports().CountCancelled(beginDate, endDate).ToList();

            //Assert
            Assert.AreEqual(beforeInt, after.Select(q => q.count).FirstOrDefault() - 1);
        }
예제 #4
0
 public void GetSimpleAggregate_IsNotNull()
 {
     // Arrange
     frb.AddWorkOrder(dateTimeOfWork: DateTime.Parse("1/2/2013"))
        .AddWorkAssignment(skill: 63); // known skill ID from machete lookup initializer
     o = new DTO.SearchOptions
     {
         idOrName = "DispatchesByJob",
         beginDate = DateTime.Parse("1/1/2013"),
         endDate = DateTime.Parse("1/1/2014")
     };
     // Act
     List<dynamic> result = frb.ToServ<IReportsV2Service>().getQuery(o);
     // Assert
     Assert.IsNotNull(result);
     Assert.AreNotEqual(0, result.Count);
 }
예제 #5
0
        public void wo_list_filter_by_date_only_filters_on_utc_date_range()
        {
            // Arrange
            var    clientDate   = new DateTime(2021, 1, 1).Date;
            var    woDateUTC    = clientDate.ToUtcFrom(frb.ClientTimeZoneInfo); // client date at midnight +/- offset
            var    woDateUTCEnd = woDateUTC.AddHours(24);
            string randomId     = $"{Faker.Name.Last()}{Faker.RandomNumber.Next()}";

            frb.AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: woDateUTC, contact: $"Machete{randomId}");
            frb.AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: woDateUTC.AddHours(-1), contact: $"Machete-1{randomId}");
            frb.AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: woDateUTC.AddHours(25), contact: $"Machete+1{randomId}");

            //Act
            var map        = frb.ToWebMapper();
            var workOrders = frb.ToServ <IWorkOrderService>().GetIndexView(new viewOptions()
            {
                date               = null,
                displayLength      = 10,
                displayStart       = 0,
                showActiveWorkers  = false,
                showExpiredWorkers = false,
                showNotWorkers     = false,
                showPending        = false,
                showWorkers        = false,
                showSExWorkers     = false,
                sortColName        = "WOID",
                wa_grouping        = "False",
                sSearch            = randomId
            }).query.ToList();

            var orderInDateRange     = workOrders.Where(wo => wo.contactName == $"Machete{randomId}").First();
            var orderBeforeDateRange = workOrders.Where(wo => wo.contactName == $"Machete-1{randomId}").First();
            var orderAfterDateRange  = workOrders.Where(wo => wo.contactName == $"Machete+1{randomId}").First();

            // should be in range
            Assert.IsTrue(orderInDateRange.dateTimeofWork >= woDateUTC &&
                          orderInDateRange.dateTimeofWork <= woDateUTCEnd, "expected in range date not in range");
            // outside range
            Assert.IsFalse(orderBeforeDateRange.dateTimeofWork >= woDateUTC &&
                           orderBeforeDateRange.dateTimeofWork <= woDateUTCEnd, "expected before range date not outside range");
            Assert.IsFalse(orderAfterDateRange.dateTimeofWork >= woDateUTC &&
                           orderAfterDateRange.dateTimeofWork <= woDateUTCEnd, "expected before range date not outside range");
        }
예제 #6
0
        public void get_GroupView()
        {
            // Arrange
            frb.AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: DateTime.Now).AddWorkAssignment();
            //
            //Act
            var result = frb.ToServ <IWorkOrderService>().GetActiveOrders(DateTime.Now, assignedOnly: false);

            Assert.IsNotNull(result, "Person.ID is Null");
        }
예제 #7
0
        public void GetSummary()
        {
            //
            //Arrange
            var Date = frb.ToServ <IWorkOrderService>().GetSummary().OrderByDescending(o => o.date).First().date.Value.AddDays(1);

            frb.AddWorkOrder(status: WorkOrder.iCancelled, dateTimeOfWork: Date).AddWorkAssignment()
            .AddWorkOrder(status: WorkOrder.iPending, dateTimeOfWork: Date).AddWorkAssignment()
            .AddWorkOrder(status: WorkOrder.iCompleted, dateTimeOfWork: Date).AddWorkAssignment()
            .AddWorkOrder(status: WorkOrder.iCompleted, dateTimeOfWork: Date).AddWorkAssignment()
            .AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: Date).AddWorkAssignment()
            .AddWorkOrder(status: WorkOrder.iActive, dateTimeOfWork: Date).AddWorkAssignment();
            //
            //Act
            IEnumerable <WorkOrderSummary> result = frb.ToServ <IWorkOrderService>().GetSummary(Date.ToShortDateString()).ToList();

            //
            //Assert
            Assert.IsNotNull(result, "GetSummary result is Null");
            Assert.AreEqual(2, result.Where(r => r.status == WorkOrder.iActive).First().count, "GetSummary returned incorrect number of Active records");
            Assert.IsTrue(result.Where(r => r.status == WorkOrder.iPending).First().count == 1, "GetSummary returned incorrect number of Pending records");
            Assert.IsTrue(result.Where(r => r.status == WorkOrder.iCompleted).First().count == 2, "GetSummary returned incorrect number of Completed records");
            Assert.IsTrue(result.Where(r => r.status == WorkOrder.iCancelled).First().count == 1, "GetSummary returned incorrect number of Cancelled records");
        }
        public void getDynamicQuery_returns_list()
        {
            // arrange
            frb.AddWorkOrder(dateTimeOfWork: DateTime.Parse("1/2/2013"), status: 42)
            .AddWorkAssignment(skill: 63);     // known skill ID from machete lookup initializer
            var result = frb.ToServ <IReportsV2Service>()
                         .GetDynamicQuery(1, new SearchOptions {
                beginDate  = DateTime.Parse("2013/1/1"),
                endDate    = DateTime.Parse("2013/3/1"),
                dwccardnum = 0
            });

            // act
            // assert
            Assert.AreEqual("20130101-20130301-DispatchesByJob-63", result[0].id);
        }