public async Task ViolationsForMultipleFieldsAreReturnedCorrectly() { var user = new UserAdminObject(); var columns = await GetUserDictionary(); await user.MapObjectColumnsAsync(columns); //Get the required Fields var requiredFields = (await user.GetColumnsAsync()).Where(x => x.Validations.Count(y => y.GetType() == typeof(ValidationNotNull)) > 0); //Blank out their Data property foreach (var field in requiredFields) { field.Data = String.Empty; } // Validate the user var validationResults = await user.ValidateAsync(new APIOptions(), MockRSAPIRepositoryGroup.Object, MockArtifactQueries.Object, MockDbContext.Object, MockSqlQueryHelper.Object); // Make sure each blanked out required column exists in the returned validation violations foreach (var field in requiredFields) { Assert.IsTrue(validationResults.FirstOrDefault(x => x.Contains(field.ColumnName)) != null); } }
public async Task NoViolationsReturnedForValidUserModel() { var user = new UserAdminObject(); var columns = await GetUserDictionary(); await user.MapObjectColumnsAsync(columns); var validationResult = await user.ValidateAsync(new APIOptions(), MockRSAPIRepositoryGroup.Object, MockArtifactQueries.Object, MockDbContext.Object, MockSqlQueryHelper.Object); Assert.IsTrue(!validationResult.Any()); Assert.IsTrue(user.Validated); }
public async Task PasswordValidationAutomaticallyAddedAfterValidateAsyncCalled() { var user = new UserAdminObject(); var columns = await GetUserDictionary(); await user.MapObjectColumnsAsync(columns); var passwordColumns = (await user.GetColumnsAsync()).Where(x => x.ObjectFieldType == Constant.Enums.ObjectFieldType.PasswordLoginMethod); Assert.IsFalse(await ValidationExistsInSelectedColumns(passwordColumns, typeof(ValidationPasswordLoginMethod))); await user.ValidateAsync(new APIOptions(), MockRSAPIRepositoryGroup.Object, MockArtifactQueries.Object, MockDbContext.Object, MockSqlQueryHelper.Object); Assert.IsTrue(await ValidationExistsInSelectedColumns(passwordColumns, typeof(ValidationPasswordLoginMethod))); }
public async Task GroupValidationAutomaticallyAddedAfterValidateAsyncCalled() { var user = new UserAdminObject(); var columns = await GetUserDictionary(); await user.MapObjectColumnsAsync(columns); var codeNameColumns = new List <IObjectColumn> { user.Groups }; Assert.IsFalse(await ValidationExistsInSelectedColumns(codeNameColumns, typeof(ValidationGroup))); await user.ValidateAsync(new APIOptions(), MockRSAPIRepositoryGroup.Object, MockArtifactQueries.Object, MockDbContext.Object, MockSqlQueryHelper.Object); Assert.IsTrue(await ValidationExistsInSelectedColumns(codeNameColumns, typeof(ValidationGroup))); }
public async Task CodeValidationAutomaticallyAddedAfterValidateAsyncCalled() { var user = new UserAdminObject(); var columns = await GetUserDictionary(); await user.MapObjectColumnsAsync(columns); var codeNameColumns = new List <IObjectColumn> { user.Type, user.DocumentSkip, user.DefaultSelectedFileType, user.SkipDefaultPreference, user.DocumentViewer }; Assert.IsFalse(await ValidationExistsInSelectedColumns(codeNameColumns, typeof(ValidationCodeName))); await user.ValidateAsync(new APIOptions(), MockRSAPIRepositoryGroup.Object, MockArtifactQueries.Object, MockDbContext.Object, MockSqlQueryHelper.Object); Assert.IsTrue(await ValidationExistsInSelectedColumns(codeNameColumns, typeof(ValidationCodeName))); }