public async Task SetsStatusCode(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
 {
     // Exercise system
     await filter.OnExceptionAsync(context, CancellationToken.None);
     // Verify outcome
     context.Response.StatusCode.Should().Be(HttpStatusCode.InternalServerError);
 }
        public async Task SetsContentTypeHeader(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
        {
            // Exercise system
            await filter.OnExceptionAsync(context, CancellationToken.None);

            // Verify outcome
            context.Response.Content.Headers.ContentType.MediaType.Should().Be("application/json");
        }
        public async Task SetsStatusCode(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
        {
            // Exercise system
            await filter.OnExceptionAsync(context, CancellationToken.None);

            // Verify outcome
            context.Response.StatusCode.Should().Be(HttpStatusCode.InternalServerError);
        }
 public async Task CreatesResponse(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
 {
     // Fixture setup
     context.Response = null;
     // Exercise system
     await filter.OnExceptionAsync(context, CancellationToken.None);
     // Verify outcome
     context.Response.Should().NotBeNull();
 }
        public async Task CreatesResponse(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
        {
            // Fixture setup
            context.Response = null;
            // Exercise system
            await filter.OnExceptionAsync(context, CancellationToken.None);

            // Verify outcome
            context.Response.Should().NotBeNull();
        }
        public async Task CreatesErrorResponseWithoutDetails(HttpRequestContext requestContext,
            HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
        {
            // Fixture setup
            requestContext.IncludeErrorDetail = false;
            context.Request.SetRequestContext(requestContext);

            var expectedMessage =
                JsonConvert.SerializeObject(new ErrorResponse(StringResources.DefaultErrorMessage));
            // Exercise system
            await filter.OnExceptionAsync(context, CancellationToken.None);
            // Verify outcome
            var message = await context.Response.Content.ReadAsStringAsync();
            message.Should().Be(expectedMessage);
        }
        public async Task CreatesErrorResponseWithoutDetails(HttpRequestContext requestContext,
                                                             HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
        {
            // Fixture setup
            requestContext.IncludeErrorDetail = false;
            context.Request.SetRequestContext(requestContext);

            var expectedMessage =
                JsonConvert.SerializeObject(new ErrorResponse(StringResources.DefaultErrorMessage));
            // Exercise system
            await filter.OnExceptionAsync(context, CancellationToken.None);

            // Verify outcome
            var message = await context.Response.Content.ReadAsStringAsync();

            message.Should().Be(expectedMessage);
        }
 public async Task SetsContentTypeHeader(HttpActionExecutedContext context, JSendExceptionFilterAttribute filter)
 {
     // Exercise system
     await filter.OnExceptionAsync(context, CancellationToken.None);
     // Verify outcome
     context.Response.Content.Headers.ContentType.MediaType.Should().Be("application/json");
 }