Example #1
0
        public async Task Create_episode_command_validator_should_return_empty_name_validation_error()
        {
            // Arrange
            var validator = new CreateEpisodeCommandValidator(_testFixture.Context);
            var command   = new CreateEpisodeCommand {
                Name = ""
            };

            // Act
            var validationResult = await validator.ValidateAsync(command);

            // Assert
            validationResult.Errors.Count.ShouldBe(1);
            validationResult.Errors.First().ErrorCode.ShouldBe("NotEmptyValidator");
        }
Example #2
0
        public async Task Create_episode_command_validator_should_pass()
        {
            // Arrange
            var episodeInDb = new EpisodeBuilder().Generate().SaveChanges(_testFixture.Context).Build().First();
            var validator   = new CreateEpisodeCommandValidator(_testFixture.Context);
            var command     = new CreateEpisodeCommand {
                Name = episodeInDb.Name + "something"
            };

            // Act
            var validationResult = await validator.ValidateAsync(command);

            // Assert
            validationResult.Errors.ShouldBeEmpty();
        }
Example #3
0
        public async Task Create_episode_command_validator_should_return_unique_name_validation_error()
        {
            // Arrange
            var episodeInDb = new EpisodeBuilder().Generate().SaveChanges(_testFixture.Context).Build().First();
            var validator   = new CreateEpisodeCommandValidator(_testFixture.Context);
            var command     = new CreateEpisodeCommand {
                Name = episodeInDb.Name
            };

            // Act
            var validationResult = await validator.ValidateAsync(command);

            // Assert
            validationResult.Errors.Count.ShouldBe(1);
            validationResult.Errors.First().ErrorCode.ShouldBe("PredicateValidator");
            validationResult.Errors.First().ErrorMessage.ShouldBe("The episode name has to be unique");
        }