public async Task GetModeratorPageReviewOutcomeHandler_returns__PageReviewOutcome() { var expectedApplicationId = Guid.NewGuid(); var expectedSequenceNumber = 1; var expectedSectionNumber = 2; var expectedPageId = "30"; var expectedUserId = "4fs7f-userId-7gfhh"; var expectedStatus = "Fail"; var expectedComment = "Very bad"; var expectedResult = new ModeratorPageReviewOutcome { ApplicationId = expectedApplicationId, SequenceNumber = expectedSequenceNumber, SectionNumber = expectedSectionNumber, PageId = expectedPageId, UserId = expectedUserId, Status = expectedStatus, Comment = expectedComment }; _repository.Setup(x => x.GetModeratorPageReviewOutcome(expectedApplicationId, expectedSequenceNumber, expectedSectionNumber, expectedPageId)).ReturnsAsync(expectedResult); var actualResult = await _handler.Handle(new GetModeratorPageReviewOutcomeRequest(expectedApplicationId, expectedSequenceNumber, expectedSectionNumber, expectedPageId, expectedUserId), new CancellationToken()); Assert.AreSame(expectedResult, actualResult); }
public async Task GetPageReviewOutcome_returns_expected_PageReviewOutcome() { var request = new RoatpModeratorController.GetPageReviewOutcomeRequest { SequenceNumber = _sequenceNumber, SectionNumber = _sectionNumber, PageId = _pageId, UserId = _userId }; var expectedResult = new ModeratorPageReviewOutcome(); _mediator.Setup(x => x.Send(It.Is <GetModeratorPageReviewOutcomeRequest>(r => r.ApplicationId == _applicationId && r.SequenceNumber == request.SequenceNumber && r.SectionNumber == request.SectionNumber && r.PageId == request.PageId && r.UserId == request.UserId), It.IsAny <CancellationToken>())).ReturnsAsync(expectedResult); var actualResult = await _controller.GetPageReviewOutcome(_applicationId, request); _mediator.Verify(x => x.Send(It.Is <GetModeratorPageReviewOutcomeRequest>(r => r.ApplicationId == _applicationId && r.SequenceNumber == request.SequenceNumber && r.SectionNumber == request.SectionNumber && r.PageId == request.PageId && r.UserId == request.UserId), It.IsAny <CancellationToken>()), Times.Once); Assert.AreSame(expectedResult, actualResult); }
public void SetUp() { var logger = new Mock <ILogger <Web.Services.ModeratorSectionReviewOrchestrator> >(); _applyApiClient = new Mock <IRoatpApplicationApiClient>(); _moderationApiClient = new Mock <IRoatpModerationApiClient>(); var supplementaryInformationService = new Mock <ISupplementaryInformationService>(); _orchestrator = new Web.Services.ModeratorSectionReviewOrchestrator(logger.Object, _applyApiClient.Object, _moderationApiClient.Object, supplementaryInformationService.Object); _userId = _user.UserId(); _application = new Apply { ApplicationId = _applicationId, ApplyData = new ApplyData { ApplyDetails = new ApplyDetails { } }, Assessor1UserId = _userId }; _contact = new Contact { Email = _userId, GivenNames = _user.GivenName(), FamilyName = _user.Surname() }; _moderatorPage = new ModeratorPage { ApplicationId = _applicationId, SequenceNumber = _sequenceNumber, SectionNumber = _sectionNumber, PageId = _pageId, Questions = new List <Question> { new Question { QuestionId = "Q1" } }, Answers = new List <Answer> { new Answer { QuestionId = "Q1", Value = "value" } } }; _pageReviewOutcome = new ModeratorPageReviewOutcome { ApplicationId = _applicationId, SequenceNumber = _sequenceNumber, SectionNumber = _sectionNumber, PageId = _pageId, UserId = _userId, Status = ModeratorPageReviewStatus.Pass }; _applyApiClient.Setup(x => x.GetApplication(_applicationId)).ReturnsAsync(_application); _applyApiClient.Setup(x => x.GetContactForApplication(_applicationId)).ReturnsAsync(_contact); _moderationApiClient.Setup(x => x.GetModeratorPage(_applicationId, _sequenceNumber, _sectionNumber, _pageId)) .ReturnsAsync(_moderatorPage); _moderationApiClient.Setup(x => x.GetModeratorPageReviewOutcomesForSection(_applicationId, _sequenceNumber, _sectionNumber, _userId)) .ReturnsAsync(new List <ModeratorPageReviewOutcome> { _pageReviewOutcome }); _moderationApiClient.Setup(x => x.GetModeratorPageReviewOutcome(_applicationId, _sequenceNumber, _sectionNumber, _pageId, _userId)) .ReturnsAsync(_pageReviewOutcome); }