public async Task EntityUnion_has_possible_type_with_key_directive() { /* Given */ var builder = new SchemaBuilder() .Add(@" type Person @key(fields: ""id"") { id: ID! }"); /* When */ var schema = await builder.BuildSubgraph(new FederatedSchemaBuildOptions()); var entityUnion = schema.GetRequiredNamedType <UnionDefinition>("_Entity"); var entities = schema.GetPossibleTypes(entityUnion); /* Then */ Assert.Single(entities, obj => obj.Name == "Person"); }
public async Task EntityUnion_does_not_contain_object_without_key_directive() { /* Given */ var builder = new SchemaBuilder() .Add(@" type Person @key(fields: ""id"") { id: ID! } type Address { street: String }"); /* When */ var schema = await builder.BuildSubgraph(new FederatedSchemaBuildOptions()); var entityUnion = schema.GetRequiredNamedType <UnionDefinition>("_Entity"); var entities = schema.GetPossibleTypes(entityUnion) .ToList(); /* Then */ Assert.Single(entities); }