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"); }
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); }