Example #1
0
        public IActionResult InviteUsers([FromBody] InviteFormModel model, [FromServices] IEmailSender emailSender)
        {
            if (!_userPermissions.IsAllowedToInvite(User.Identity.GetUserId()))
            {
                return(Forbidden());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var result = _userManager.InviteUsers(model.Emails, emailSender);

            if (result.FailedInvitations.Count == model.Emails.Length)
            {
                return(BadRequest(result));
            }

            if (result.ExistingUsers.Count == model.Emails.Length)
            {
                return(StatusCode(409, result));
            }

            return(Accepted(result));
        }
        public void InviteUsersTest400WhenEmailParameterIsNotThere()
        {
            var model = new InviteFormModel();

            _tester.TestController()
            .Calling(c => c.InviteUsers(model, null))     //Since dependency injection isn't working, EmailSender is null
            .ShouldReturn()
            .BadRequest()
            .WithStatusCode(400);     //As the Emails is missing
        }
 public UsersControllerTest()
 {
     _tester         = new ControllerTester <UsersController>();
     InviteFormModel = new InviteFormModel
     {
         Emails = new[]
         {
             "*****@*****.**", "*****@*****.**"
         }
     };
 }
        public void InviteUsersTest400()
        {
            var model = new InviteFormModel()
            {
                Emails = new string[] { }
            };

            _tester.TestController()
            .Calling(c => c.InviteUsers(model, null))     //Since dependency injection isn't working, EmailSender is null
            .ShouldReturn()
            .BadRequest()
            .WithStatusCode(400);     //As the Emails is empty
        }