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); }
public async Task RequestContributor_SavesRequest() { var contributorRequestViewModel = new SurveyContributorRequestViewModel { SurveyId = 123, EmailAddress = "*****@*****.**" }; var apiResult = A.Fake <ApiResult>(); var invitations = new List <ContributorRequest>(); A.CallTo(() => _surveyService.AddContributorRequestAsync(A <ContributorRequest> .Ignored)).Invokes((ContributorRequest r) => invitations.Add(r)).Returns(apiResult); // RequestContributor looks for existing contributors var contributorsDto = new ContributorsDTO { Contributors = new List <UserDTO>(), Requests = new List <ContributorRequest>() }; var apiResult2 = A.Fake <ApiResult <ContributorsDTO> >(); A.CallTo(() => apiResult2.Succeeded).Returns(true); A.CallTo(() => apiResult2.Item).Returns(contributorsDto); A.CallTo(() => _surveyService.GetSurveyContributorsAsync(A <int> .Ignored)).Returns(Task.FromResult(apiResult2)); var result = await _target.RequestContributor(contributorRequestViewModel); Assert.Equal(123, invitations[0].SurveyId); Assert.Equal("*****@*****.**", invitations[0].EmailAddress); }