Ejemplo n.º 1
0
        public UpdateLayoutCommand Map(UpdateLayoutRequest request)
        {
            var id = new Guid(request.RouteId);

            var valuePairs = _jsonProvider.ToDictionary(request.BodyPatch);

            Optional <string> name        = valuePairs.GetOptional("name");
            Optional <string> description = valuePairs.GetOptional("description");
            Optional <string> image       = valuePairs.GetOptional("image");
            Optional <string> diagram     = valuePairs.GetOptional("diagram");

            var version = ToVersion(request.HeaderIfMatch);

            var result = new UpdateLayoutCommand(id, name, description, image, diagram, version);

            return(result);
        }
        public void ShouldContainNoErrors()
        {
            // Arrange
            var id = Guid.NewGuid();
            Optional <string> name        = new Optional <string>("Name");
            Optional <string> description = new Optional <string>("Description");
            Optional <string> image       = new Optional <string>("Image");
            Optional <string> diagram     = new Optional <string>("Diagram");
            var version = 1;

            var command = new UpdateLayoutCommand(id, name, description, image, diagram, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           = validationResult.Errors.Count > 0;

            // Assert
            exists.Should().BeFalse();
        }
        public void ShouldHaveLayoutNameCannotStartOrEndWithWhiteSpaceValidationErrorWhenNameStartsOrEndsWithWhiteSpace(string symbols)
        {
            // Arrange
            var id                        = Guid.NewGuid();
            var nameValue                 = symbols;
            Optional <string> name        = new Optional <string>(nameValue);
            Optional <string> description = new Optional <string>("Description");
            Optional <string> image       = new Optional <string>("Image");
            Optional <string> diagram     = new Optional <string>("Diagram");
            var version                   = 1;

            var command = new UpdateLayoutCommand(id, name, description, image, diagram, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           = validationResult.Errors.Any(a => a.PropertyName.Equals("Name") && a.ErrorMessage.Contains(ValidationFailures.LayoutNameCannotStartOrEndWithWhiteSpace));

            // Assert
            exists.Should().BeTrue();
        }
        public void ShouldHaveLayoutNotFoundCustomFailureWhenIdIsGuidEmpty()
        {
            // Arrange
            var id = Guid.Empty;
            Optional <string> name        = new Optional <string>("Name");
            Optional <string> description = new Optional <string>("Description");
            Optional <string> image       = new Optional <string>("Image");
            Optional <string> diagram     = new Optional <string>("Diagram");
            var version = 1;

            var command = new UpdateLayoutCommand(id, name, description, image, diagram, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           =
                validationResult.Errors.Any(
                    a => a.PropertyName.Equals("Id") && a.ErrorMessage.Contains(CustomFailures.LayoutNotFound));

            // Assert
            exists.Should().BeTrue();
        }
        public void ShouldHaveLayoutNameCannotBeEmptyValidationFailureWhenNameIsNull()
        {
            // Arrange
            var               id          = Guid.NewGuid();
            string            nameValue   = null;
            Optional <string> name        = new Optional <string>(nameValue);
            Optional <string> description = new Optional <string>("Description");
            Optional <string> image       = new Optional <string>("Image");
            Optional <string> diagram     = new Optional <string>("Diagram");
            var               version     = 1;

            var command = new UpdateLayoutCommand(id, name, description, image, diagram, version);

            // Act
            var validationResult = _validator.Validate(command);
            var exists           =
                validationResult.Errors.Any(
                    a => a.PropertyName.Equals("Name") && a.ErrorMessage.Contains(ValidationFailures.LayoutNameCannotBeEmpty));

            // Assert
            exists.Should().BeTrue();
        }