Example #1
0
        public void Should_Map_From_UpdateDummyModelCommand_To_DummyModel(int id, string name)
        {
            // Arrange

            // Act
            var updateDummyModelCommand = new UpdateDummyModelCommand()
            {
                Id   = id,
                Name = name,
            };
            var dummyModel = this._mapper.Map <DummyModel>(updateDummyModelCommand);

            // Assert
            dummyModel.Id.Should().Be(id);
            dummyModel.Name.Should().Be(name);
        }
Example #2
0
        public void Should_Throw_Validation_Exception_For_Empty_Name()
        {
            // Arrange
            var command = new UpdateDummyModelCommand()
            {
                Id = 1,
            };

            // Act
            var validator        = new UpdateDummyModelCommandValidator();
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.IsValid.Should().Be(false);
            validationResult.Errors[0].ErrorMessage.Should().Be("'Name' must not be empty.");
            validationResult.Errors[0].ErrorCode.Should().Be("NotEmptyValidator");
            validationResult.Errors[0].PropertyName.Should().Be("Name");
            validationResult.Errors[0].Severity.Should().Be(Severity.Error);
        }
Example #3
0
        public void Should_Throw_Validation_Exception_For_Id_Less_0(int id)
        {
            // Arrange
            var command = new UpdateDummyModelCommand()
            {
                Id   = id,
                Name = "name",
            };

            // Act
            var validator        = new UpdateDummyModelCommandValidator();
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.IsValid.Should().Be(false);

            validationResult.Errors[0].ErrorCode.Should().Be("GreaterThanValidator");
            validationResult.Errors[0].PropertyName.Should().Be("Id");
            validationResult.Errors[0].Severity.Should().Be(Severity.Error);
        }
Example #4
0
        public void Should_Throw_Validation_Exception_For_Empty_Id_and_Name()
        {
            // Arrange
            var command = new UpdateDummyModelCommand();

            // Act
            var validator        = new UpdateDummyModelCommandValidator();
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.IsValid.Should().Be(false);
            var errorMessages = validationResult.Errors.Select(e => e.ErrorMessage);

            errorMessages.Contains("'Id' must not be empty.").Should().Be(true);
            errorMessages.Contains("'Name' must not be empty.").Should().Be(true);
            var propertyName = validationResult.Errors.Select(e => e.PropertyName);

            propertyName.Contains("Id").Should().Be(true);
            propertyName.Contains("Name").Should().Be(true);
        }
Example #5
0
        public void Should_Throw_Validation_Exception_For_Larger_Name()
        {
            // Arrange
            string invalidName = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do" +
                                 "eiusmod tempor incididunt ut labore et dolore magna aliqua.";
            var command = new UpdateDummyModelCommand()
            {
                Id   = 1,
                Name = invalidName,
            };

            // Act
            var validator        = new UpdateDummyModelCommandValidator();
            var validationResult = validator.Validate(command);

            // Assert
            validationResult.IsValid.Should().Be(false);
            validationResult.Errors[0].ErrorMessage.Should().Be($"The length of 'Name' must be" +
                                                                $" {DummyModelValidationRules.NameMaximumLength} characters or fewer." +
                                                                $" You entered {invalidName.Length} characters.");
            validationResult.Errors[0].ErrorCode.Should().Be("MaximumLengthValidator");
            validationResult.Errors[0].PropertyName.Should().Be("Name");
            validationResult.Errors[0].Severity.Should().Be(Severity.Error);
        }
Example #6
0
        public async Task <ActionResult <IResponse <DummyModelOutput> > > PutDummyModel(int id, UpdateDummyModelCommand updateDummyModelCommand)
        {
            IResponse response;

            if (id != updateDummyModelCommand.Id)
            {
                response = this._responseFactory.Create(message: ResponseMessages.EnteredIdsAreDifferent);
                return(BadRequest(response));
            }

            response = await this.Mediator.Send(updateDummyModelCommand);

            if (response == default)
            {
                response = this._responseFactory.Create(message: ResponseMessages.NotFound);
                return(NotFound(response));
            }

            if (!response.Success)
            {
                return(BadRequest(response));
            }

            return(Ok(response));
        }