public void OnError_HandlesUnauthorizedExceptions()
        {
            // Arrange
            IError error = new Error("TestError")
                           .WithCode(ErrorCodes.Authentication.NotAuthorized);
            var expectedMessage = "You shall not pass.";
            // Act
            var actualError = _errorFilter.OnError(error);

            // Assert
            Assert.Equal(expectedMessage, actualError.Message);
        }
Esempio n. 2
0
        public void OnError_ErrorWithoutException_ShouldReturnErrorAsIs()
        {
            // Arrange
            IError error = ErrorBuilder.New()
                           .SetMessage("Error occurred")
                           .Build();
            var filter = new ErrorFilter();

            // Act
            IError result = filter.OnError(error);

            // Assert
            result.Should().Be(error);
        }
Esempio n. 3
0
        public void OnError_WithException_ShouldSetErrorCode()
        {
            // Arrange
            IError error = ErrorBuilder.New()
                           .SetMessage("Error occurred")
                           .SetException(new NotImplementedException())
                           .Build();
            var filter = new ErrorFilter();

            // Act
            IError result = filter.OnError(error);

            // Assert
            result.Code.Should().Be("NOT_IMPLEMENTED");
        }
Esempio n. 4
0
        public void OnError_WithExceptionContainingProperties_ShouldSetErrorData()
        {
            // Arrange
            IError error = ErrorBuilder.New()
                           .SetMessage("Error occurred")
                           .SetException(new PropertiesException(123, "abc"))
                           .Build();
            var filter = new ErrorFilter();

            // Act
            IError result = filter.OnError(error);

            // Assert
            result.Extensions.Keys.Should().Contain("data");
            var data = result.Extensions["data"] as IReadOnlyDictionary <string, object>;

            data.Should().NotBeNull();
            data["paramA"].Should().Be(123);
            data["paramB"].Should().Be("abc");
        }