public async Task UpcomingBooking_Should_Return_UpcomingBookings_For_Valid_Request() { var goApiClient = new GoApiClient(); var result = await goApiClient.UpcomingBookings(); Assert.NotNull(result); Assert.True(result.Data.Any()); }
public SkillResponse Handle(IntentRequest intent, ILambdaContext context, Session inputSession) { var goApiClient = new GoApiClient(); var result = goApiClient.UpcomingBookings().Result; if (result.Errors.Any()) { return(ResponseBuilder.Tell($"{result.Errors.First().Message}")); } if (result.Data.Any() == false) { var speech = new SsmlOutputSpeech { Ssml = "<speak>I didn't find any bookings.</speak>" }; var repromptMessage = new PlainTextOutputSpeech { Text = "Would you like to book class now ?" }; var repromptBody = new Reprompt(); repromptBody.OutputSpeech = repromptMessage; var finalResponse = ResponseBuilder.Ask(speech, repromptBody); return(finalResponse); } var day = result.Data.Select(x => x.ClassStartDate).First().ToString("dddd d MMMM", CultureInfo.CreateSpecificCulture("en-US")); var bookingsResponse = string.Join(',', result.Data.OrderBy(x => x.ClassStartDate). Select(x => $" {x.ClassName} at {x.ClassStartDate.ToShortTimeString()}")); var speech1 = new SsmlOutputSpeech { Ssml = $"<speak>{GetFirstPartResponse(result.Data.Count(), day)}{bookingsResponse}</speak>" }; var repromptMessage1 = new PlainTextOutputSpeech { Text = "" }; var repromptBody1 = new Reprompt(); repromptBody1.OutputSpeech = repromptMessage1; var finalResponse1 = ResponseBuilder.Ask(speech1, repromptBody1); return(finalResponse1); // return ResponseBuilder.Tell($"{GetFirstPartResponse(result.Data.Count(), day)}{bookingsResponse}"); }