예제 #1
0
        public async Task ExtendStayWithTimeTest()
        {
            var tokens = new StringDictionary
            {
                { "Time", LateCheckOutUtterances.Time.ToString(ReservationData.TimeFormat) },
                { "Date", CheckInDate.AddDays(HotelService.StayDays).ToString(ReservationData.DateFormat) }
            };

            await this.GetTestFlow()
            .Send(ExtendStayUtterances.ExtendStayWithTime)
            .AssertReply(AssertContains(LateCheckOutResponses.CheckAvailability))
            .AssertReply(AssertStartsWith(LateCheckOutResponses.MoveCheckOutPrompt, tokens))
            .Send(NonLuisUtterances.Yes)
            .AssertReply(AssertContains(LateCheckOutResponses.MoveCheckOutSuccess, tokens, CardStrings.ReservationDetails))
            .AssertReply(ActionEndMessage())
            .StartTestAsync();
        }
        public async Task LateCheckOutAndCancelActionTest()
        {
            var tokens = new Dictionary <string, object>
            {
                { "Time", HotelService.LateTime.ToString(ReservationData.TimeFormat) },
                { "Date", CheckInDate.AddDays(HotelService.StayDays).ToString(ReservationData.DateFormat) }
            };

            await this.GetSkillTestFlow()
            .Send(LateCheckOutUtterances.LateCheckOutAction)
            .AssertReply(AssertContains(LateCheckOutResponses.CheckAvailability))
            .AssertReply(AssertStartsWith(LateCheckOutResponses.MoveCheckOutPrompt, tokens))
            .Send(GeneralTestUtterances.Cancel)
            .AssertReply(AssertContains(MainResponses.CancelMessage))
            .AssertReply(SkillActionEndMessage(false))
            .StartTestAsync();
        }
        public async Task LateCheckOutWithExceededTimeActionTest()
        {
            var tokens = new Dictionary <string, object>
            {
                { "Time", HotelService.LateTime.ToString(ReservationData.TimeFormat) },
                { "Date", CheckInDate.AddDays(HotelService.StayDays).ToString(ReservationData.DateFormat) }
            };

            await this.GetSkillTestFlow()
            .Send(LateCheckOutUtterances.LateCheckOutWithExceededTimeAction)
            .AssertReply(AssertContains(LateCheckOutResponses.CheckAvailability))
            .AssertReply(AssertStartsWith(LateCheckOutResponses.MoveCheckOutPrompt, tokens))
            .Send(NonLuisUtterances.Yes)
            .AssertReply(AssertContains(LateCheckOutResponses.MoveCheckOutSuccess, tokens, CardStrings.ReservationDetails))
            .AssertReply(SkillActionEndMessage(true))
            .StartTestAsync();
        }
        public async Task LateCheckOutAndHelpTest()
        {
            var tokens = new Dictionary <string, object>
            {
                { "Time", HotelService.LateTime.ToString(ReservationData.TimeFormat) },
                { "Date", CheckInDate.AddDays(HotelService.StayDays).ToString(ReservationData.DateFormat) }
            };

            await this.GetTestFlow()
            .Send(StartActivity)
            .AssertReply(AssertContains(MainResponses.WelcomeMessage))
            .AssertReply(AssertContains(MainResponses.FirstPromptMessage))
            .Send(LateCheckOutUtterances.LateCheckOut)
            .AssertReply(AssertContains(LateCheckOutResponses.CheckAvailability))
            .AssertReply(AssertStartsWith(LateCheckOutResponses.MoveCheckOutPrompt, tokens))
            .Send(GeneralTestUtterances.Help)
            .AssertReply(AssertContains(MainResponses.HelpMessage))
            .AssertReply(AssertStartsWith(LateCheckOutResponses.MoveCheckOutPrompt, tokens))
            .Send(NonLuisUtterances.Yes)
            .AssertReply(AssertContains(LateCheckOutResponses.MoveCheckOutSuccess, tokens, CardStrings.ReservationDetails))
            .AssertReply(ActionEndMessage())
            .StartTestAsync();
        }