Esempio n. 1
0
        public void ShouldAddDefaultIndexes()
        {
            //// Arrange
            var builder = new SchemaIndexingInfoBuilder <Parent>();

            //// Act
            var info = builder
                       .AddDefaultIndexes(p => p.Child, 1)
                       .Build();

            var json = JsonConvert.SerializeObject(info, Formatting.Indented);

            //// Assert
            Assert.True(info.Fields.Single(f => f.Id == "child")
                        .RelatedSchemaIndexing.Fields.Any(f => f.Id == "firstName"));

            Assert.True(info.Fields.Single(f => f.Id == "child")
                        .RelatedSchemaIndexing.Fields.Any(f => f.Id == "lastName"));
            Assert.False(info.Fields.Single(f => f.Id == "child")
                         .RelatedSchemaIndexing.Fields.Any(f => f.Id == "dateOfBirth"));

            Assert.Null(info.Fields.Single(f => f.Id == "child")
                        .RelatedSchemaIndexing.Fields.Single(f => f.Id == "lastName").RelatedSchemaIndexing);
            Assert.Null(info.Fields.Single(f => f.Id == "child")
                        .RelatedSchemaIndexing.Fields.Single(f => f.Id == "firstName").RelatedSchemaIndexing);
        }
        public void ShouldAddDefaultIndexesWithInheritance()
        {
            /// Arrange
            var builder = new SchemaIndexingInfoBuilder <Parent>();

            /// Act
            var info = builder
                       .AddDefaultIndexes(p => p.Child, 1)
                       .Build();

            /// Assert
            Assert.Contains(info.Fields.Single(f => f.Id == "child").RelatedSchemaIndexing.Fields, f => f.Id == "speciality");
        }
Esempio n. 3
0
        public void ShouldAddDefaultIndexesOfRootType()
        {
            /// Arrange
            var builder = new SchemaIndexingInfoBuilder <Child>();

            /// Act
            var info = builder
                       .AddDefaultIndexes(1)
                       .Build();

            var json = JsonConvert.SerializeObject(info, Formatting.Indented);

            /// Assert
            Assert.Contains(info.Fields, f => f.Id == "firstName");
            Assert.Contains(info.Fields, f => f.Id == "lastName");
            Assert.DoesNotContain(info.Fields, f => f.Id == "dateOfBirth");

            Assert.Null(info.Fields.Single(f => f.Id == "firstName").RelatedSchemaIndexing);
            Assert.Null(info.Fields.Single(f => f.Id == "lastName").RelatedSchemaIndexing);
        }