public async Task <Response <List <InviteResponseDTO> > > InviteUser(InviteReturnDTO userInvite, IUrlHelper url, string requestScheme) { Response <List <InviteResponseDTO> > response = new Response <List <InviteResponseDTO> >(); var roleCheck = await IsValidRole(userInvite.Role); if (!roleCheck) { response.Message = "Role is not valid"; return(response); } var VerifiedMails = await VerifyMail(userInvite.EmailAddresses, _data); _data = VerifiedMails.Data; if (VerifiedMails.Emails.Count == 0) { response.Data = ResponseMessageMapper.MapToResponseMsg(_data); response.Message = "Emails are Invalid"; return(response); } var tokens = await CreateUserAndPassword(VerifiedMails.Emails, userInvite.Role, _data); _data = tokens.Data; _data = await SendMail(tokens.UserAndPassword, url, requestScheme, userInvite.Role, _data); response.Success = true; response.Data = ResponseMessageMapper.MapToResponseMsg(_data); response.Message = "Invites sent"; return(response); }
public async Task <IActionResult> SendInvite([FromBody] InviteReturnDTO userInvite) { var response = await _authService.InviteUser(userInvite, Url, Request.Scheme); if (response.Success) { return(Created("", response)); } return(BadRequest(response)); }
public async Task SendInviteTestValid() { //Arrange MockUp(true); var authController = new AuthController(_serviceProvider) { Url = _urlHelper }; authController.ControllerContext.HttpContext = new DefaultHttpContext(); var userToInvite = new InviteReturnDTO(); //Act var actual = await authController.SendInvite(userToInvite) as CreatedResult; //Assert Assert.IsNotNull(actual); Assert.AreEqual(StatusCodes.Status201Created, actual.StatusCode); }