public async Task Sms_ClientForceCreateUserTest() { var testRequest = new ForceCreateUserRequest( true, "customTemplate", "", "ru-RU", "userName", 123456, new List <string> { "1", "2", "3" }); var accountRepository = container.Resolve <IAccountRepository>(); var accountRepositoryMock = Mock.Get(accountRepository); accountRepositoryMock .Setup(s => s.FindByPhone(It.IsAny <decimal>())) .ReturnsAsync((Account)null); var roleRepository = container.Resolve <IRoleRepository>(); var roleRepositoryMock = Mock.Get(roleRepository); roleRepositoryMock .Setup(s => s.GetByRoleNames(It.IsAny <string[]>())) .ReturnsAsync(testRequest.Roles.Select(x => new Repository.Model.Role() { Name = x }).ToArray()); using (var http = new HttpClient()) { var client = new Domain0Client(TEST_URL, http); http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", TestContainerBuilder.BuildToken(container, 1, TokenClaims.CLAIM_PERMISSIONS_FORCE_CREATE_USER)); await client.ForceCreateUserAsync(testRequest); accountRepositoryMock.Verify(ar => ar.Insert(It.Is <Account>(a => a.Name == testRequest.Name && a.Phone == testRequest.Phone)), Times.Once()); roleRepositoryMock.Verify(rr => rr.GetByRoleNames(It.Is <string[]>(s => testRequest.Roles.SequenceEqual(s))), Times.Once); } }
private Task <UserProfile> ForceCreateUserApi(IEnumerable <Role> roles) { var rolesNames = roles .Select(x => x.Name) .ToList(); switch ((ForceCreateUserModeEnum)ForceCreateUserMode) { case ForceCreateUserModeEnum.Phone: var phone = long.Parse(Phone); var requestByPhone = new ForceCreateUserRequest( BlockSmsSend, CustomSmsTemplate, Environment?.Token, Locale, Name, phone, rolesNames); return(_domain0.Client.ForceCreateUserAsync(requestByPhone)); case ForceCreateUserModeEnum.Email: var requestByEmail = new ForceCreateEmailUserRequest( BlockEmailSend, CustomEmailSubjectTemplate, CustomEmailTemplate, Email, Environment?.Token, Locale, Name, rolesNames); return(_domain0.Client.ForceCreateUser2Async(requestByEmail)); default: throw new ArgumentException(); } }