Exemple #1
0
        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();
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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));
        }