public async Task CheckUsersValidityAsync_Should_InvokeRemoteGraphService_Once_WhenAllEmailsValid() { // ARRANGE string _; _mockCache.Setup(x => x.Exists(It.IsAny <string>())).Returns(false); var validEmails = new HashSet <string>() { "*****@*****.**" }; var adUserCheckResult = new List <AdUserDto>() { new AdUserDto(Guid.NewGuid().ToString(), validEmails.First(), true) }; _mockRemoteGraphService.Setup(x => x.CheckUsersValidityAsync(validEmails)).ReturnsAsync(adUserCheckResult); // ACT var resultList = await _activeDirectoryService.CheckUsersValidityAsync(validEmails); // ASSERT _mockCache.Verify(x => x.Exists(It.IsAny <string>()), Times.Once); _mockRemoteGraphService.Verify(x => x.CheckUsersValidityAsync(It.IsAny <HashSet <string> >()), Times.Once); Assert.NotNull(resultList); Assert.Single(resultList); Assert.NotNull(resultList.FirstOrDefault(x => x.Mail == validEmails.First())); }
public async Task <IActionResult> CheckUsersValidityAsync([FromBody] ISet <string> userEmails) { var userList = await _activeDirectoryService.CheckUsersValidityAsync(userEmails); return(Ok(userList)); }