Exemplo n.º 1
0
        public void Validate_WhenSideIsInvalid_IsValidShouldBeFalse(byte[] content)
        {
            var command = new PayLoadCreateCommand("123456", content, SideEnum.Undefined);

            _payLoadRepository.GetByCorrelationIdAndSide(Arg.Any <string>(), Arg.Any <SideEnum>()).ReturnsNull();

            var validationResult = _sut.Validate(command);

            validationResult.IsValid.Should().BeFalse();
        }
Exemplo n.º 2
0
        public void Validate_WhenContentIsNull_IsValidShouldBeFalse()
        {
            var command = new PayLoadCreateCommand("123456", null, SideEnum.Left);

            _payLoadRepository.GetByCorrelationIdAndSide(Arg.Any <string>(), Arg.Any <SideEnum>()).ReturnsNull();

            var validationResult = _sut.Validate(command);

            validationResult.IsValid.Should().BeFalse();
        }
Exemplo n.º 3
0
        public void Validate_WhenCommandIsValidAndPayLoadNotExists_IsValidShouldBeTrue(byte[] content)
        {
            var command = new PayLoadCreateCommand("123456", content, SideEnum.Left);

            _payLoadRepository.GetByCorrelationIdAndSide(Arg.Any <string>(), Arg.Any <SideEnum>()).ReturnsNull();

            var validationResult = _sut.Validate(command);

            validationResult.IsValid.Should().BeTrue();
        }
Exemplo n.º 4
0
        public void Validate_WhenPayLoadAlreadyExists_IsValidShouldBeFalse(byte[] content, PayLoad payLoad)
        {
            var command = new PayLoadCreateCommand("123456", content, SideEnum.Left);

            _payLoadRepository.GetByCorrelationIdAndSide(command.CorrelationId, command.Side).Returns(payLoad);

            var validationResult = _sut.Validate(command);

            validationResult.IsValid.Should().BeFalse();
            validationResult.Errors.Should().OnlyContain(x => x.ErrorCode.Equals("PayloadAlreadyExists"));
        }
Exemplo n.º 5
0
        public async void Handle_WhenPayLoadNotExist_ShouldAddItToRepository(PayLoadCreateCommand command)
        {
            var result = await _sut.Handle(command, new CancellationToken());

            result.Should().BeTrue();

            await _payLoadRepository.Received(1).Add(Arg.Is <PayLoad>(p
                                                                      => p.CorrelationId == command.CorrelationId &&
                                                                      p.Content == command.Content &&
                                                                      p.Side == command.Side));
        }
Exemplo n.º 6
0
        public async void Handle_WhenPayLoadCreated_ShouldRaisePayLoadCreatedEvent(PayLoadCreateCommand command)
        {
            var result = await _sut.Handle(command, new CancellationToken());

            result.Should().BeTrue();

            await _bus.Received(1).RaiseEvent(Arg.Is <PayLoadCreatedEvent>(p
                                                                           => p.EntityId != Guid.Empty &&
                                                                           p.CorrelationId == command.CorrelationId &&
                                                                           p.Content == command.Content &&
                                                                           p.Side == command.Side));
        }
Exemplo n.º 7
0
        public async void Handle_WhenValidationResultIsInvalid_ShouldThrowValidationException(PayLoadCreateCommand command, List <ValidationFailure> validationFailures)
        {
            var validationResult = new ValidationResult(validationFailures);

            _validator.Validate(Arg.Any <PayLoadCreateCommand>()).Returns(validationResult);

            var next = new RequestHandlerDelegate <bool>(() => Task.FromResult(true));

            var ex = await Assert.ThrowsAsync <ValidationException>(() => _sut.Handle(command, new CancellationToken(), next));

            ex.Errors.Should().BeEquivalentTo(validationFailures);
        }
Exemplo n.º 8
0
        public async void Handle_WhenValidationResultIsValid_ShouldCallNextAndReturnTrue(PayLoadCreateCommand command)
        {
            var validationResult = new ValidationResult();

            _validator.Validate(Arg.Any <PayLoadCreateCommand>()).Returns(validationResult);

            var next = new RequestHandlerDelegate <bool>(() => Task.FromResult(true));

            var result = await _sut.Handle(command, new CancellationToken(), next);

            result.Should().BeTrue();
        }
        public async void Create_GuardTests(string correlationId, CreateLeftPayLoadRequest request, PayLoadCreateCommand payLoadCreateCommand)
        {
            _mapper.Map <PayLoadCreateCommand>(request, opt => opt.Items["correlationId"] = correlationId).Returns(payLoadCreateCommand);

            var result = await _sut.Create(correlationId, request);
        }