diff --git a/integration-tests/lts/dbschema/default.esdl b/integration-tests/lts/dbschema/default.esdl index 83e7da7d0..d3fb6dc7b 100644 --- a/integration-tests/lts/dbschema/default.esdl +++ b/integration-tests/lts/dbschema/default.esdl @@ -44,7 +44,9 @@ module default { type Hero extending Person { property secret_identity -> str; - property number_of_movies -> int64; + required property number_of_movies -> int64 { + default := 0; + }; multi link villains := . { + const query = e.select(e.Movie.characters, (person) => ({ + heroMovieCount: person.is(e.Hero).number_of_movies, + heroInfo: e.select(person.is(e.Hero), (hero) => ({ + number_of_movies: true, + numMovies: hero.number_of_movies, + })), + })); + type result = $infer; + tc.assert< + tc.IsExact< + result, + ( + | { + __typename: "default::Villain"; + } + | { + __typename: "default::Hero"; + heroMovieCount: number; + heroInfo: { + number_of_movies: number; + numMovies: number; + }; + } + )[] + > + >(false); + }); + test("polymorphic field in nested shape", async () => { const query = e.select(e.Movie, (movie) => ({ title: true,