public WithTemplatedUrlPathProviderTests() { parameters = new List <ParameterDescriptor>(); mockSelector = new Mock <IQueryNameSelector>(); mockSelector .Setup(x => x.Select(It.IsAny <PropertyInfo[]>())) .Returns(new List <string>(new[] { "Filter", "VersionNumber" })); mockProvider = new Mock <IActionDescriptorCollectionProvider>(); SetupProvider(); mockUrlHelper = new Mock <IUrlHelper>(); mockUrlHelperBuilder = new Mock <IUrlHelperBuilder>(); mockUrlHelperBuilder .Setup(x => x.Build()) .Returns(mockUrlHelper.Object); templatedRequest = LinkRequestBuilder.CreateWithRouteName(TestRouteName).SetIsTemplated(); nonTemplatedRequest = LinkRequestBuilder.CreateWithRouteName(TestRouteName); sut = new WithTemplatedUrlPathProvider( mockSelector.Object, mockProvider.Object, mockUrlHelperBuilder.Object); }
public static IHypermediaBuilder <TDocument> AddRouteTemplate <TDocument>(this IHypermediaBuilder <TDocument> builder, string rel, string routeName) where TDocument : IHypermediaDocument { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } if (string.IsNullOrWhiteSpace(rel)) { throw new ArgumentException($"Parameter '{nameof(rel)}' must not be null or empty."); } if (string.IsNullOrWhiteSpace(routeName)) { throw new ArgumentException($"Parameter '{nameof(routeName)}' must not be null or empty."); } var link = builder.Service.GetLink(LinkRequestBuilder .CreateWithRouteName(routeName) .SetIsTemplated()); builder.AddLink(rel, link); return(builder); }
public void GetRouteValuesShouldReturnNullWhenRouteValuesDoesNotExist() { LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName); var result = request.GetRouteValues(); result.Should().BeNull(); }
public void Can_Instantiate_New_LinkRequestBuilder() { //Act var builder = new LinkRequestBuilder(); //Assert Assert.That(builder, Is.Not.Null); }
public void IsTemplatedShouldReturnFalseWhenRequestContainsAnInvalidTemplatedValue() { LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName).Set(IsTemplatedEnricher.TemplatedKey, "yes"); var result = request.IsTemplated(); result.Should().BeFalse(); }
public IsTemplatedEnricherTests() { request = LinkRequestBuilder.CreateWithRouteName(TestRouteName); context = new LinkFactoryContext(); writer = new LinkDataWriter(context); sut = new IsTemplatedEnricher(); }
public void IsTemplatedShouldReturnFalseWhenRequestDoesNotContainAValueForTemplated() { LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName); var result = request.IsTemplated(); result.Should().BeFalse(); }
public void GetRouteNameShouldReturnRouteNameWhenRouteNameExists() { LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName); var result = request.GetRouteName(); result.Should().Be(TestRouteName); }
public void IsTemplatedShouldReturnCorrectValue(bool isTemplated) { LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName).Set(IsTemplatedEnricher.TemplatedKey, isTemplated); var result = request.IsTemplated(); result.Should().Be(isTemplated); }
public void SetShouldThrowArgumentExceptionWhenKeyIs(string key) { Func <LinkRequestBuilder> func = () => LinkRequestBuilder.CreateWithRouteName(TestRouteName).Set(key, new object()); var exception = func.Should().Throw <ArgumentException>().Which; exception.Message.Should().Be("Parameter 'key' must not be null or empty."); exception.ParamName.Should().BeNull(); }
public void CreateWithRouteNameShouldThrowArgumentExceptionWhenRouteNameIs(string routeName) { Func <LinkRequestBuilder> func = () => LinkRequestBuilder.CreateWithRouteName(routeName); var exception = func.Should().Throw <ArgumentException>().Which; exception.Message.Should().Be("Parameter 'routeName' must not be null or empty."); exception.ParamName.Should().BeNull(); }
public void GetRouteValuesShouldReturnRouteValuesWhenRouteValuesExists() { var routeValues = new object(); LinkRequest request = LinkRequestBuilder.CreateWithRouteName(TestRouteName).SetRouteValuesIfNotNull(routeValues); var result = request.GetRouteValues(); result.Should().Be(routeValues); }
public static LinkRequestBuilder SetIsTemplated(this LinkRequestBuilder builder) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } return(builder.Set(IsTemplatedEnricher.TemplatedKey, true)); }
public void SetIfNotNullShouldReturnLinkRequestBuilderThatCanBuildALinkRequestWithExpectedValue(string key, object value) { var result = LinkRequestBuilder.CreateWithRouteName(TestRouteName).SetIfNotNull(key, value); result.Should().NotBeNull(); var request = result.Build(); request.Should().NotBeNull(); request.GetValueOrDefault(key).Should().Be(value); }
public void SetShouldReturnLinkRequestBuilderThatCanBuildALinkRequestWithValueSet() { var result = LinkRequestBuilder.CreateWithRouteName(TestRouteName).Set(TestKey, TestValue); result.Should().NotBeNull(); var request = result.Build(); request.Should().NotBeNull(); request.GetValueOrDefault(TestKey).Should().Be(TestValue); }
public void SetRouteValuesIfNotNullShouldReturnLinkRequestBuilderThatCanBuildALinkRequestWithExpectedValue(object value) { var result = LinkRequestBuilder.CreateWithRouteName(TestRouteName).SetRouteValuesIfNotNull(value); result.Should().NotBeNull(); var request = result.Build(); request.Should().NotBeNull(); request.GetRouteValues().Should().Be(value); }
public void SetIsTemplatedShouldReturnLinkRequestBuilderThanCanBuildALinkRequestWithTemplatedValueTrue() { var result = LinkRequestBuilder.CreateWithRouteName("TestRouteName").SetIsTemplated(); result.Should().NotBeNull(); var request = result.Build(); request.Should().NotBeNull(); request.IsTemplated().Should().BeTrue(); }
public void CreateWithRouteNameShouldReturnLinkRequestBuilderThatCanBuildALinkRequestWithRouteName() { var result = LinkRequestBuilder.CreateWithRouteName(TestRouteName); result.Should().NotBeNull(); var request = result.Build(); request.Should().NotBeNull(); request.GetRouteName().Should().Be(TestRouteName); }
public HttpMethodEnricherTests() { request = LinkRequestBuilder.CreateWithRouteName(TestRouteName); context = new LinkFactoryContext(); writer = new LinkDataWriter(context); endpointMetadata = new List <object> { new HttpMethodMetadata(new string[] { TestHttpMethod }) }; attributeRouteInfo = new AttributeRouteInfo { Name = TestRouteName }; mockProvider = new Mock <IActionDescriptorCollectionProvider>(); SetupProvider(); sut = new HttpMethodEnricher(mockProvider.Object); }
public void Setup() { _builder = new LinkRequestBuilder(); }
public void SetShouldThrowArgumentNullExceptionWhenValueIsNull() { Func <LinkRequestBuilder> func = () => LinkRequestBuilder.CreateWithRouteName(TestRouteName).Set(TestKey, default); func.Should().Throw <ArgumentException>().Which.ParamName.Should().Be("value"); }