示例#1
0
            public void MessageNullCheck()
            {
                // Arrange
                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act + Assert
                Assert.ThrowsAsync <ArgumentNullException>(() => handler.HandleAsync(null));
            }
示例#2
0
            public async Task ReturnsFalseWhenTheValidatorStateIsNotSaved()
            {
                // Arrange
                ValidatorStatus status = null;

                _validatorStateService.Setup(s => s.GetStatusAsync(It.IsAny <Guid>())).ReturnsAsync(status);
                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act
                var result = await handler.HandleAsync(_message);

                // Assert
                Assert.False(result);
            }
示例#3
0
            public async Task ReturnsTrueWhenTheValidatorStateIsSucceded()
            {
                // Arrange
                ValidatorStatus status = new ValidatorStatus()
                {
                    State = ValidationStatus.Succeeded
                };

                _validatorStateService.Setup(s => s.GetStatusAsync(It.IsAny <Guid>())).ReturnsAsync(status);
                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act
                var result = await handler.HandleAsync(_message);

                // Assert
                Assert.True(result);
            }
示例#4
0
            public async Task IncompleteStateIsProcessed()
            {
                // Arrange
                ValidatorStatus status = new ValidatorStatus()
                {
                    State = ValidationStatus.Incomplete
                };

                _validatorStateService.Setup(s => s.GetStatusAsync(It.IsAny <Guid>())).ReturnsAsync(status);
                _symbolService.Setup(s => s.ValidateSymbolsAsync(It.IsAny <SymbolsValidatorMessage>(), It.IsAny <CancellationToken>())).ReturnsAsync(ValidationResult.Incomplete);

                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act
                var result = await handler.HandleAsync(_message);

                // Assert
                Assert.False(result);
                _symbolService.Verify(ss => ss.ValidateSymbolsAsync(It.IsAny <SymbolsValidatorMessage>(), It.IsAny <CancellationToken>()), Times.Once);
            }
示例#5
0
            public async Task ReturnsFalseIfFailToSaveInDB()
            {
                // Arrange
                ValidatorStatus status = new ValidatorStatus()
                {
                    State = ValidationStatus.Incomplete
                };

                _validatorStateService.Setup(s => s.GetStatusAsync(It.IsAny <Guid>())).ReturnsAsync(status);
                _validatorStateService.Setup(s => s.SaveStatusAsync(It.IsAny <ValidatorStatus>())).ReturnsAsync(SaveStatusResult.StaleStatus);

                _symbolService.Setup(s => s.ValidateSymbolsAsync(It.IsAny <SymbolsValidatorMessage>(), It.IsAny <CancellationToken>())).
                ReturnsAsync(ValidationResult.Succeeded);

                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act
                var result = await handler.HandleAsync(_message);

                // Assert
                Assert.False(result);
            }
示例#6
0
            public async Task IncompleteStateIsProcessedAndSavedOnFailed()
            {
                // Arrange
                ValidatorStatus status = new ValidatorStatus()
                {
                    State = ValidationStatus.Incomplete
                };

                _validatorStateService.Setup(s => s.GetStatusAsync(It.IsAny <Guid>())).ReturnsAsync(status);
                _validatorStateService.Setup(s => s.SaveStatusAsync(It.IsAny <ValidatorStatus>())).ReturnsAsync(SaveStatusResult.Success);

                _symbolService.Setup(s => s.ValidateSymbolsAsync(It.IsAny <SymbolsValidatorMessage>(), It.IsAny <CancellationToken>())).
                ReturnsAsync(ValidationResult.FailedWithIssues(ValidationIssue.Unknown));

                var handler = new SymbolsValidatorMessageHandler(_logger.Object, _symbolService.Object, _validatorStateService.Object);

                // Act
                var result = await handler.HandleAsync(_message);

                // Assert
                Assert.True(result);
                Assert.Equal(1, status.ValidatorIssues.Count);
                _validatorStateService.Verify(ss => ss.SaveStatusAsync(It.IsAny <ValidatorStatus>()), Times.Once);
            }