Ejemplo n.º 1
0
        public void Handle_InvalidCommand_EmptyName_ShouldThrowValidationException()
        {
            var handler = new CreateAttractionCategoryCommandHandler(_mapper, _mockAttractionCategoryRepository.Object);

            Func <Task> func = async() => await handler.Handle(new CreateAttractionCategoryCommand { Name = "" }, CancellationToken.None);

            func.Should().Throw <ValidationException>();

            _mockAttractionCategoryRepository.Verify(repo => repo.AddAsync(It.IsAny <AttractionCategory>()), Times.Never());
        }
Ejemplo n.º 2
0
        public void Handle_InvalidCommand_TooLongName_ShouldThrowValidationException()
        {
            var handler = new CreateAttractionCategoryCommandHandler(_mapper, _mockAttractionCategoryRepository.Object);
            var command = new CreateAttractionCategoryCommand {
                Name = "ThisNameShouldHaveMoreThan50CharactersSoINeedToAddAFewMoreThisNameShouldHaveMoreThan50CharactersSoINeedToAddAFewMore"
            };

            Func <Task> func = async() => await handler.Handle(command, CancellationToken.None);

            func.Should().Throw <ValidationException>().Where(e => e.Errors.Any(x => x.Contains("must not exceed 100 characters")));

            _mockAttractionCategoryRepository.Verify(repo => repo.AddAsync(It.IsAny <AttractionCategory>()), Times.Never());
        }
Ejemplo n.º 3
0
        public async Task Handle_ValidCommand_ShouldAddToRepository()
        {
            var initialListCount = (await _mockAttractionCategoryRepository.Object.GetAllAsync()).Count;

            var handler = new CreateAttractionCategoryCommandHandler(_mapper, _mockAttractionCategoryRepository.Object);

            var result = await handler.Handle(new CreateAttractionCategoryCommand { Name = "Church" }, CancellationToken.None);

            result.Should().BeOfType(typeof(AttractionCategoryDto));
            result.Name.Should().Be("Church");

            var categories = await _mockAttractionCategoryRepository.Object.GetAllAsync();

            categories.Count.Should().Be(initialListCount + 1);

            _mockAttractionCategoryRepository.Verify(repo => repo.AddAsync(It.IsAny <AttractionCategory>()), Times.Once());
        }