public async Task Contributors_ShowsContributorsForSurvey() { var contributors = new ContributorsDTO(); var apiResult = new Mock<ApiResult<ContributorsDTO>>(); apiResult.SetupGet(s => s.Item).Returns(contributors); apiResult.SetupGet(s => s.Succeeded).Returns(true); _surveyService.Setup(s => s.GetSurveyContributorsAsync(It.IsAny<int>())) .ReturnsAsync(apiResult.Object); var result = await _target.Contributors(12345); var viewResult = Assert.IsType<ViewResult>(result); Assert.Equal(contributors, viewResult.ViewData.Model); }
public async Task RequestContributor_SavesRequest() { var contributorRequestViewModel = new SurveyContributorRequestViewModel { SurveyId = 123, EmailAddress = "*****@*****.**" }; var apiResult = new Mock<ApiResult>(); var invitations = new List<ContributorRequest>(); _surveyService.Setup(c => c.AddContributorRequestAsync(It.IsAny<ContributorRequest>())) .ReturnsAsync(apiResult.Object) .Callback<ContributorRequest>(c => invitations.Add(c)); // RequestContributor looks for existing contributors var contributorsDto = new ContributorsDTO { Contributors = new List<UserDTO>(), Requests = new List<ContributorRequest>() }; var apiResult2 = new Mock<ApiResult<ContributorsDTO>>(); apiResult2.Setup(x => x.Succeeded).Returns(true); apiResult2.Setup(x => x.Item).Returns(contributorsDto); _surveyService.Setup(c => c.GetSurveyContributorsAsync(It.IsAny<int>())) .ReturnsAsync(apiResult2.Object); var result = await _target.RequestContributor(contributorRequestViewModel); Assert.Equal(123, invitations[0].SurveyId); Assert.Equal("*****@*****.**", invitations[0].EmailAddress); }