Example #1
0
        public async Task TestGetNextVisit()
        {
            int userId = 1;
            var start  = (int)DateTime.Now.AddHours(2).ToUnixTime();
            var end    = (int)DateTime.Now.AddHours(4).ToUnixTime();
            var note   = $"Test visit";

            var visits = Enumerable.Range(0, 1).Select(x => new Visit()
            {
                StartAt     = start,
                EndAt       = end,
                Description = note,
                AssignedTo  = new List <Assigned>()
                {
                    new Assigned()
                    {
                        Id = userId
                    }
                },
                Title = "Test visit"
            }).ToList();

            var mockJobberClient = MockJobberClientBuilder.Create()
                                   .ReturnsVisitsAssignedForToday(visits, userId)
                                   .Build();

            var fulfillmentRequest = FulfillmentRequestBuilder.Create(Constants.Intents.GetNextVisit)
                                     .Build();

            fulfillmentRequest.UserId = userId;
            var fulfiller = new GetNextVisitIntentFulfiller();
            var response  = await fulfiller.FulfillAsync(fulfillmentRequest, mockJobberClient.Object);

            Assert.IsTrue(response.Speech.Contains("Test visit"));
        }
Example #2
0
        public async Task TestNextNoVisit()
        {
            int userId           = 1;
            var visits           = Enumerable.Empty <Visit>().ToList();
            var mockJobberClient = MockJobberClientBuilder.Create()
                                   .ReturnsVisitsAssignedForToday(visits, userId)
                                   .Build();

            var fulfillmentRequest = FulfillmentRequestBuilder.Create(Constants.Intents.GetNextVisit)
                                     .Build();

            fulfillmentRequest.UserId = userId;
            var fulfiller = new GetNextVisitIntentFulfiller();
            var response  = await fulfiller.FulfillAsync(fulfillmentRequest, mockJobberClient.Object);

            Assert.IsTrue(response.Speech.Contains($"Your remaining day looks clear"));
        }