Esempio n. 1
0
        public async Task AddAnswerToReviewAsyncUserIsNotAuthorDoNothing()
        {
            var userId    = 1u;
            var reviewId  = 2u;
            var asnwerMsg = "Hello, my friend";

            _scientificWorkRepositoryMock.Reset();
            _scientificWorkRepositoryMock.Setup(x => x.IsAuthorOfScientificWorkByReviewIdAsync(userId, reviewId)).ReturnsAsync(false);

            _reviewRepositoryMock.Reset();
            _userStoreMock.Reset();
            _emailSenderMock.Reset();

            var err = await Record.ExceptionAsync(async
                                                      () => await _service.AddAnswerToReviewAsync(userId, reviewId, asnwerMsg));

            err.Should().BeNull();

            _scientificWorkRepositoryMock.Verify(x => x.IsAuthorOfScientificWorkByReviewIdAsync(userId, reviewId), Times.Once);
            _reviewRepositoryMock.Verify(x => x.GetReviewByIdAsync(It.IsAny <uint>()), Times.Never);
            _reviewRepositoryMock.Verify(x => x.AddAnswerToReviewAsync(It.IsAny <Review>()), Times.Never);
            _reviewRepositoryMock.Verify(x => x.GetWorkIdByReviewIdAsync(It.IsAny <uint>()), Times.Never);
            _reviewRepositoryMock.Verify(x => x.GetEmailOfReviewerByReviewIdAsync(It.IsAny <uint>()), Times.Never);
            _emailSenderMock.Verify(x => x.SendReceiveAnswerEmailAsync(It.IsAny <string>(), It.IsAny <uint>()), Times.Never);
        }
        public async Task AddAnswerToReviewAsyncUserIsNotAuthorDoNothing()
        {
            var userId    = 1u;
            var reviewId  = 1u;
            var asnwerMsg = _faker.Lorem.Paragraph();

            _scientificWorkRepositoryMock.Setup(x => x.IsAuthorOfScientificWorkByReviewIdAsync(userId, reviewId)).ReturnsAsync(false);

            var err = await Record.ExceptionAsync(async
                                                      () => await _service.AddAnswerToReviewAsync(userId, reviewId, asnwerMsg));

            err.Should().BeNull();

            _emailSenderMock.Verify(x => x.SendReceiveAnswerEmailAsync(It.IsAny <string>(), It.IsAny <uint>()), Times.Never);
            _reviewRepositoryMock.Verify(x => x.AddAnswerToReviewAsync(It.IsAny <Review>()), Times.Never);
        }
Esempio n. 3
0
 protected override async Task Handle(AddAnswerToReviewCommand request, CancellationToken cancellationToken)
 {
     var userId = uint.Parse(request.UserId);
     await _reviewService.AddAnswerToReviewAsync(userId, request.ReviewId, request.Answer);
 }