public async Task Handle_CorrectParams_ShouldOpenAppropriateDialog() { // Arrange var actionParams = new AddAnswerSlackActionParams { User = new ItemInfo { Id = "userId", Name = "userName" }, ButtonParams = new AddAnswerActionButtonParams { QuestionId = "questionId" }, TriggerId = "triggerId", OriginalMessage = new OriginalMessageDto { TimeStamp = "state" } }; DialogRequest actualRequest = null; _slackHttpClientMock.Setup(m => m.OpenDialogAsync(It.IsAny <DialogRequest>())) .Returns(Task.CompletedTask) .Callback((DialogRequest request) => actualRequest = request); // Act await _handler.Handle(actionParams); // Assert Assert.Equal(actualRequest.TriggerId, actionParams.TriggerId); _slackHttpClientMock.Verify(m => m.OpenDialogAsync(It.IsAny <DialogRequest>()), Times.Once); _slackHttpClientMock.VerifyNoOtherCalls(); }
public async Task Handle_ButtonParamsInParamsAreNull_ArgumentNullException() { // Arrange var actionParams = new AddAnswerSlackActionParams { User = new ItemInfo(), TriggerId = "triggerId" }; // Act-Assert await Assert.ThrowsAsync <ArgumentNullException>(() => _handler.Handle(actionParams)); }
public async Task Handle_TriggerIdIsInvalid_ArgumentException() { // Arrange var actionParams = new AddAnswerSlackActionParams { User = new ItemInfo { Id = "userId", Name = "userName" }, ButtonParams = new AddAnswerActionButtonParams { QuestionId = "questionId" }, TriggerId = string.Empty }; // Act-Assert await Assert.ThrowsAsync <ArgumentException>(() => _handler.Handle(actionParams)); }