예제 #1
0
        public async Task UpdateAssessorReviewStatus_calls_mediator()
        {
            _mediator.Setup(x => x.Send(It.IsAny <GetApplicationRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => new Apply());

            var request = new RoatpAssessorController.UpdateAssessorReviewStatusCommand {
                UserId = _userId, Status = AssessorReviewStatus.Approved
            };

            await _controller.UpdateAssessorReviewStatus(_applicationId, request);

            _mediator.Verify(x => x.Send(It.Is <UpdateAssessorReviewStatusRequest>(r => r.ApplicationId == _applicationId && r.UserId == request.UserId && r.Status == request.Status), It.IsAny <CancellationToken>()), Times.Once);
        }
예제 #2
0
        public async Task UpdateAssessorReviewStatus_creates_moderator_review_outcomes_when_both_assessors_have_approved(string assessor1ReviewStatus, string assessor2ReviewStatus, bool expectModeratorReviewCreation)
        {
            _mediator.Setup(x => x.Send(It.IsAny <GetApplicationRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => new Apply
            {
                Assessor1ReviewStatus = assessor1ReviewStatus, Assessor2ReviewStatus = assessor2ReviewStatus
            });

            var request = new RoatpAssessorController.UpdateAssessorReviewStatusCommand {
                UserId = _userId, UserName = _userName, Status = AssessorReviewStatus.Approved
            };

            await _controller.UpdateAssessorReviewStatus(_applicationId, request);

            _moderatorReviewCreationService.Verify(x => x.CreateEmptyReview(_applicationId, _userId, _userName), Times.Exactly(expectModeratorReviewCreation ? 1 : 0));
        }