public void Validate_GivenAllPropertiesAreValid_ExpectValidationSuccess()
        {
            var cmd       = new UpdateUserCoreDetailsCommand(TestVariables.UserId, "*****@*****.**", "first-name", "last-name", true, true, new List <Guid>());
            var validator = new UpdateUserCoreDetailsCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.True(result.IsValid);
        }
        public void Validate_GivenFirstNameIsNull_ExpectValidationFailure()
        {
            var cmd       = new UpdateUserCoreDetailsCommand(TestVariables.UserId, "*****@*****.**", null, "last-name", true, true, new List <Guid>());
            var validator = new UpdateUserCoreDetailsCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "FirstName");
        }
        public void Validate_GivenEmailAddressIsNotValidEmailAddress_ExpectValidationFailure()
        {
            var cmd       = new UpdateUserCoreDetailsCommand(TestVariables.UserId, "email-address", "first-name", "last-name", true, true, new List <Guid>());
            var validator = new UpdateUserCoreDetailsCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.ValueMustBeAnEmailAddress) &&
                failure.PropertyName == "EmailAddress");
        }
        public void Validate_GivenEmailAddressIsEmpty_ExpectValidationFailure()
        {
            var cmd       = new UpdateUserCoreDetailsCommand(TestVariables.UserId, string.Empty, "first-name", "last-name", true, true, new List <Guid>());
            var validator = new UpdateUserCoreDetailsCommandValidator();
            var result    = validator.Validate(cmd);

            Assert.False(result.IsValid);
            Assert.Contains(
                result.Errors,
                failure => failure.ErrorCode.Equals(ValidationCodes.FieldIsRequired) &&
                failure.PropertyName == "EmailAddress");
        }