public async Task <IOperationResult <bool> > Create(SystemUserCreateViewModel systemUserToCreate) { try { IOperationResult <bool> isValidSystemUserToCreateResult = ValidateUserToCreate(systemUserToCreate); if (!isValidSystemUserToCreateResult.Success) { return(OperationResult <bool> .Fail(isValidSystemUserToCreateResult.Message)); } systemUserToCreate.Password = _encrypService.EncrypText(systemUserToCreate.Password); SystemUser systemUser = _mapper.Map <SystemUser>(systemUserToCreate); _systemUserRepository.Create(systemUser); await _systemUserRepository.SaveAsync(); await SendActivationEmail(systemUser); return(OperationResult <bool> .Ok(true)); } catch { return(OperationResult <bool> .Fail("Ha ocurrido un error creando el usuario")); } }
public async Task CreateWhenSystemUserRepositorySaveThrowShouldReturnOperationResultFailed() { encrypService.EncrypText(Arg.Any <string>()).Returns("texto encriptado"); systemUserRepository.When(systemUserRepository => systemUserRepository.SaveAsync()).Throw(new Exception()); SystemUserManager systemUserManager = new SystemUserManager(systemUserRepository, mapper, encrypService, emailService); IOperationResult <bool> actual = await systemUserManager.Create(systemUserCreateViewModel); Assert.IsFalse(actual.Success); Assert.AreEqual("Ha ocurrido un error creando el usuario", actual.Message); }