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); }
protected override async Task Handle(AddAnswerToReviewCommand request, CancellationToken cancellationToken) { var userId = uint.Parse(request.UserId); await _reviewService.AddAnswerToReviewAsync(userId, request.ReviewId, request.Answer); }