public void GetTemplatesNavigationRefSegmentTemplate_ReturnsTemplates_WithRouteOptions() { // Arrange NavigationLinkTemplateSegmentTemplate navigationSegment = new NavigationLinkTemplateSegmentTemplate(_employeeType, _entitySet) { RelatedKey = "relatedId" }; // Act & Assert IEnumerable <string> templates = navigationSegment.GetTemplates(new ODataRouteOptions { EnableKeyInParenthesis = false }); string template = Assert.Single(templates); Assert.Equal("/{navigationProperty}/{relatedId}/$ref", template); // Act & Assert templates = navigationSegment.GetTemplates(new ODataRouteOptions { EnableKeyAsSegment = false }); template = Assert.Single(templates); Assert.Equal("/{navigationProperty}({relatedId})/$ref", template); }
public void TryTranslateSingletonSegmentTemplate_ThrowsArgumentNull_Context() { // Arrange IEdmStructuredType structuredType = new Mock <IEdmStructuredType>().Object; IEdmNavigationSource navigationSource = new Mock <IEdmNavigationSource>().Object; NavigationLinkTemplateSegmentTemplate navigationRefSegment = new NavigationLinkTemplateSegmentTemplate(structuredType, navigationSource); // Act & Assert ExceptionAssert.ThrowsArgumentNull(() => navigationRefSegment.TryTranslate(null), "context"); }
public void CtorNavigationRefSegmentTemplate_SetsProperties() { // Arrange & Act IEdmStructuredType structuredType = new Mock <IEdmStructuredType>().Object; IEdmNavigationSource navigationSource = new Mock <IEdmNavigationSource>().Object; NavigationLinkTemplateSegmentTemplate navigationRefSegment = new NavigationLinkTemplateSegmentTemplate(structuredType, navigationSource); // Assert Assert.Same(structuredType, navigationRefSegment.DeclaringType); Assert.Same(navigationSource, navigationRefSegment.NavigationSource); }
public void GetTemplatesNavigationRefSegmentTemplate_ReturnsTemplates() { // Arrange NavigationLinkTemplateSegmentTemplate navigationSegment = new NavigationLinkTemplateSegmentTemplate(_employeeType, _entitySet); // Act & Assert IEnumerable <string> templates = navigationSegment.GetTemplates(); string template = Assert.Single(templates); Assert.Equal("/{navigationProperty}/$ref", template); // Arrange navigationSegment = new NavigationLinkTemplateSegmentTemplate(_employeeType, _entitySet) { RelatedKey = "relatedId" }; // Act & Assert templates = navigationSegment.GetTemplates(); Assert.Collection(templates, e => Assert.Equal("/{navigationProperty}({relatedId})/$ref", e), e => Assert.Equal("/{navigationProperty}/{relatedId}/$ref", e)); }
public void TryTranslateNavigationSegmentTemplate_ReturnsODataNavigationLinkSegment() { // Arrange NavigationLinkTemplateSegmentTemplate navigationSegment = new NavigationLinkTemplateSegmentTemplate(_employeeType, _entitySet); RouteValueDictionary routeValueDictionary = new RouteValueDictionary(new { navigationProperty = "DirectReports" }); ODataTemplateTranslateContext context = new ODataTemplateTranslateContext { RouteValues = routeValueDictionary, Model = _model }; // Act bool ok = navigationSegment.TryTranslate(context); // Assert Assert.True(ok); ODataPathSegment actual = Assert.Single(context.Segments); NavigationPropertyLinkSegment navSegment = Assert.IsType <NavigationPropertyLinkSegment>(actual); Assert.Same(_directReportsNav, navSegment.NavigationProperty); Assert.Same(_entitySet, navSegment.NavigationSource); }