protected override async Task <DialogTurnResult> OnContinueDialogAsync(DialogContext innerDc, CancellationToken cancellationToken = default) { if (innerDc.Context.Activity.Type == ActivityTypes.Message) { var text = innerDc.Context.Activity.Text.ToLowerInvariant(); var interuptOption = _interuptOptionFactory.Get(text); if (interuptOption != InteruptAction.Cancel || interuptOption != InteruptAction.Continue || interuptOption != InteruptAction.Help) { //TODO Log await innerDc.Context.SendActivityAsync("Invalid action"); return(null); } var dialogResult = await _interuptOptionService.Handle(innerDc, interuptOption, cancellationToken); if (dialogResult != null) { return(dialogResult); } } return(await base.OnContinueDialogAsync(innerDc, cancellationToken)); }
public async Task dialog_context_is_null_throw_exception() { await Assert.ThrowsAsync <ArgumentNullException>(async() => await _service.Handle(null, Enums.InteruptAction.Cancel, new CancellationToken())); }