public void WithRouteName_GivenExpectedRouteName_ShouldPass()
        {
            var expectedRouteName = "expectedRoute";
            var result            = new AcceptedAtRouteResult(expectedRouteName, null, null);

            result.Should().BeAcceptedAtRouteResult().WithRouteName(expectedRouteName);
        }
    public async Task ExecuteResultAsync_SetsObjectValueOfFormatter(object value)
    {
        // Arrange
        var    url         = "testAction";
        var    formatter   = CreateMockFormatter();
        var    httpContext = GetHttpContext(formatter);
        object actual      = null;

        formatter.Setup(f => f.WriteAsync(It.IsAny <OutputFormatterWriteContext>()))
        .Callback((OutputFormatterWriteContext context) => actual = context.Object)
        .Returns(Task.FromResult(0));

        var actionContext = GetActionContext(httpContext);
        var urlHelper     = GetMockUrlHelper(url);
        var routeValues   = new RouteValueDictionary(new Dictionary <string, string>()
        {
            { "test", "case" },
            { "sample", "route" }
        });

        // Act
        var result = new AcceptedAtRouteResult(
            routeName: "sample",
            routeValues: routeValues,
            value: value);

        result.UrlHelper = urlHelper;
        await result.ExecuteResultAsync(actionContext);

        // Assert
        Assert.Same(value, actual);
    }
Exemplo n.º 3
0
    public async Task ExecuteResultAsync_FormatsData()
    {
        // Arrange
        var url           = "testAction";
        var linkGenerator = new TestLinkGenerator {
            Url = url
        };
        var httpContext = GetHttpContext(linkGenerator);
        var stream      = new MemoryStream();

        httpContext.Response.Body = stream;

        var routeValues = new RouteValueDictionary(new Dictionary <string, string>()
        {
            { "test", "case" },
            { "sample", "route" }
        });

        // Act
        var result = new AcceptedAtRouteResult(
            routeName: "sample",
            routeValues: routeValues,
            value: "Hello world");
        await result.ExecuteAsync(httpContext);

        // Assert
        var response = Encoding.UTF8.GetString(stream.ToArray());

        Assert.Equal("\"Hello world\"", response);
    }
        public void ValueAs_Null_ShouldFail()
        {
            ActionResult result         = new AcceptedAtRouteResult(string.Empty, null, null);
            var          failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundNull(
                "AcceptedAtRouteResult.Value", typeof(object));

            Action a = () => result.Should().BeAcceptedAtRouteResult().ValueAs <object>();

            a.Should().Throw <Exception>().WithMessage(failureMessage);
        }
        public void WithRouteValue_GivenExpectedKeyValuePair_ShouldPass()
        {
            var expectedKey   = "expectedKey";
            var expectedValue = "expectedValue";
            var routeValues   = new { expectedKey = expectedValue };

            var result = new AcceptedAtRouteResult(string.Empty, routeValues, null);

            result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, expectedValue);
        }
        public void WithRouteName_GivenUnexpectedRouteName_ShouldFail()
        {
            var result         = new AcceptedAtRouteResult("someOtherRoute", null, null);
            var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY(
                "AcceptedAtRouteResult.RouteName", "expectedRoute", "someOtherRoute");

            Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteName("expectedRoute", Reason, ReasonArgs);

            a.Should().Throw <Exception>().WithMessage(failureMessage);
        }
    public void Constructor_InitializesStatusCodeAndValue(object value)
    {
        // Arrange & Act
        var result = new AcceptedAtRouteResult(
            routeName: null,
            routeValues: null,
            value: value);

        // Assert
        Assert.Equal(StatusCodes.Status202Accepted, result.StatusCode);
        Assert.Same(value, result.Value);
    }
        public void WithRouteValue_GivenKeyDoesntExist_ShouldFail()
        {
            var expectedKey    = "expectedKey";
            var routeValues    = new { myKey = "MyValue" };
            var result         = new AcceptedAtRouteResult(string.Empty, routeValues, null);
            var failureMessage = FailureMessageHelper.ExpectedContextContainValueAtKeyButKeyNotFound(
                "AcceptedAtRouteResult.RouteValues", "Val", expectedKey);

            Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, "Val", Reason, ReasonArgs);

            a.Should().Throw <Exception>().WithMessage(failureMessage);
        }
        public void HaveValue_GivenUnexpectedKeyValuePair_ShouldFail()
        {
            var expectedKey    = "expectedKey";
            var expectedValue  = "expectedValue";
            var routeValues    = new { expectedKey = "someOtherValue" };
            var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY(
                "AcceptedAtRouteResult.RouteValues", expectedKey, expectedValue, "someOtherValue");
            var result = new AcceptedAtRouteResult(string.Empty, routeValues, null);

            Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, expectedValue, Reason, ReasonArgs);

            a.Should().Throw <Exception>().WithMessage(failureMessage);
        }
Exemplo n.º 10
0
    public async Task ExecuteResultAsync_ThrowsIfRouteUrlIsNull()
    {
        // Arrange
        var linkGenerator = new TestLinkGenerator();
        var httpContext   = GetHttpContext(linkGenerator);

        // Act
        var result = new AcceptedAtRouteResult(
            routeName: null,
            routeValues: new Dictionary <string, object>(),
            value: null);

        // Assert
        await ExceptionAssert.ThrowsAsync <InvalidOperationException>(() =>
                                                                      result.ExecuteAsync(httpContext),
                                                                      "No route matches the supplied values.");
    }
Exemplo n.º 11
0
    public async Task ExecuteResultAsync_SetsStatusCodeAndLocationHeader(object values)
    {
        // Arrange
        var expectedUrl   = "testAction";
        var linkGenerator = new TestLinkGenerator {
            Url = expectedUrl
        };
        var httpContext = GetHttpContext(linkGenerator);

        // Act
        var result = new AcceptedAtRouteResult(routeValues: values, value: null);
        await result.ExecuteAsync(httpContext);

        // Assert
        Assert.Equal(StatusCodes.Status202Accepted, httpContext.Response.StatusCode);
        Assert.Equal(expectedUrl, httpContext.Response.Headers["Location"]);
    }
Exemplo n.º 12
0
    public async Task ExecuteResultAsync_SetsStatusCodeAndLocationHeader(object values)
    {
        // Arrange
        var expectedUrl   = "testAction";
        var formatter     = CreateMockFormatter();
        var httpContext   = GetHttpContext(formatter);
        var actionContext = GetActionContext(httpContext);
        var urlHelper     = GetMockUrlHelper(expectedUrl);

        // Act
        var result = new AcceptedAtRouteResult(routeValues: values, value: null);

        result.UrlHelper = urlHelper;
        await result.ExecuteResultAsync(actionContext);

        // Assert
        Assert.Equal(StatusCodes.Status202Accepted, httpContext.Response.StatusCode);
        Assert.Equal(expectedUrl, httpContext.Response.Headers["Location"]);
    }
Exemplo n.º 13
0
    public async Task ExecuteResultAsync_ThrowsIfRouteUrlIsNull()
    {
        // Arrange
        var formatter     = CreateMockFormatter();
        var httpContext   = GetHttpContext(formatter);
        var actionContext = GetActionContext(httpContext);
        var urlHelper     = GetMockUrlHelper(returnValue: null);

        // Act
        var result = new AcceptedAtRouteResult(
            routeName: null,
            routeValues: new Dictionary <string, object>(),
            value: null);

        result.UrlHelper = urlHelper;

        // Assert
        await ExceptionAssert.ThrowsAsync <InvalidOperationException>(() =>
                                                                      result.ExecuteResultAsync(actionContext),
                                                                      "No route matches the supplied values.");
    }