Exemplo n.º 1
0
        public void Should_return_InternalError_if_error_code_is_integer_but_unknown()
        {
            // Given
            var errorService = new ErrorService();
            var code = "-1";

            // When
            var message = errorService.Decode(code);

            // Then
            message.ShouldBe("Unrecognised internal error");
        }
Exemplo n.º 2
0
        public void Should_return_InternalError_if_error_code_is_not_valid_integer()
        {
            // Given
            var errorService = new ErrorService();
            var code = "<invalid-code>";

            // When
            var message = errorService.Decode(code);

            // Then
            message.ShouldBe("Unrecognised internal error");
        }
Exemplo n.º 3
0
        public void Should_return_correct_error_message_for_the_requested_error_code()
        {
            // Given
            var errorService = new ErrorService();
            var code = ((int)ErrorCode.UserNameTaken).ToString();

            // When
            var message = errorService.Decode(code);

            // Then
            message.ShouldBe("The UserName has already been taken");
        }
Exemplo n.º 4
0
        public void Should_return_valid_NancyResponse_containing_the_message_and_code_corresponding_to_the_requested_error()
        {
            // Given
            var errorService = new ErrorService();
            var formatter = new DefaultResponseFormatter(A.Dummy<IRootPathProvider>(), A.Dummy<NancyContext>(), A.Dummy<IEnumerable<ISerializer>>());
            var error = ErrorCode.UserNameTaken;

            // When
            var response = errorService.Generate(formatter, error);

            // Then
            response.ShouldNotBe(null);
            response.StatusCode.ShouldBe(HttpStatusCode.BadRequest);
            var contents = response.GetContents();
            ((object)contents).ShouldNotBe(null);
            ((int)contents.ErrorCode).ShouldBe((int)error);
            ((string)contents.ErrorMessage).ShouldBe("The UserName has already been taken");
        }