Example #1
0
        public void GenerateSkipTokenValue_Returns_SkipTokenValue()
        {
            // Arrange
            SkipCustomer lastMember = new SkipCustomer
            {
                Id   = 42,
                Name = "ZX"
            };

            // Act
            string skipTokenValue = DefaultSkipTokenHandler.GenerateSkipTokenValue(lastMember, _model, null);

            // Assert
            Assert.Equal("Id-42", skipTokenValue);
        }
Example #2
0
        public void GenerateSkipTokenValue_Returns_SkipTokenValue_WithOrderby_IfNullValue()
        {
            // Arrange
            SkipCustomer lastMember = new SkipCustomer
            {
                Id   = 42,
                Name = null
            };

            IEdmEntityType      entityType   = _model.SchemaElements.OfType <IEdmEntityType>().First(c => c.Name == "SkipCustomer");
            IEdmProperty        property     = entityType.FindProperty("Name");
            IList <OrderByNode> orderByNodes = new List <OrderByNode>
            {
                new OrderByPropertyNode(property, OrderByDirection.Ascending)
            };

            // Act
            string skipTokenValue = DefaultSkipTokenHandler.GenerateSkipTokenValue(lastMember, _model, orderByNodes);

            // Assert
            Assert.Equal("Name-null,Id-42", skipTokenValue);
        }
Example #3
0
        public void GenerateSkipTokenValue_Returns_SkipTokenValue_WithOrderby_WithEnumValue()
        {
            // Arrange
            SkipCustomer lastMember = new SkipCustomer
            {
                Id     = 42,
                Name   = "ZX",
                Gender = Gender.Male
            };

            IEdmEntityType      entityType   = _model.SchemaElements.OfType <IEdmEntityType>().First(c => c.Name == "SkipCustomer");
            IEdmProperty        property     = entityType.FindProperty("Gender");
            IList <OrderByNode> orderByNodes = new List <OrderByNode>
            {
                new OrderByPropertyNode(property, OrderByDirection.Ascending)
            };

            // Act
            string skipTokenValue = DefaultSkipTokenHandler.GenerateSkipTokenValue(lastMember, _model, orderByNodes);

            // Assert
            Assert.Equal("Gender-Microsoft.AspNetCore.OData.Tests.Query.DefaultSkipTokenHandlerTests%2BGender%27Male%27,Id-42", skipTokenValue);
        }
Example #4
0
        public void GenerateSkipTokenValue_Returns_SkipTokenValue_WithDateTimeOffset()
        {
            // Arrange
            SkipCustomer lastMember = new SkipCustomer
            {
                Id       = 42,
                Birthday = new DateTime(2021, 01, 20, 3, 4, 5, DateTimeKind.Utc)
            };

            TimeZoneInfo        timeZone     = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"); // -8
            IEdmEntityType      entityType   = _model.SchemaElements.OfType <IEdmEntityType>().First(c => c.Name == "SkipCustomer");
            IEdmProperty        property     = entityType.FindProperty("Birthday");
            IList <OrderByNode> orderByNodes = new List <OrderByNode>
            {
                new OrderByPropertyNode(property, OrderByDirection.Ascending)
            };

            // Act
            string skipTokenValue = DefaultSkipTokenHandler.GenerateSkipTokenValue(lastMember, _model, orderByNodes, timeZone);

            // Assert
            Assert.Equal("Birthday-2021-01-19T19%3A04%3A05-08%3A00,Id-42", skipTokenValue);
        }
Example #5
0
 public void GenerateSkipTokenValue_Returns_StringEmpty()
 {
     // Arrange & Act & Assert
     Assert.Equal(string.Empty, DefaultSkipTokenHandler.GenerateSkipTokenValue(null, null, null));
 }