예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }
예제 #3
0
        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)));
        }
예제 #4
0
        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)));
        }
예제 #5
0
        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)));
        }