@@ -71,6 +71,18 @@ var _ = Describe("Generator", func() {
7171 // Opt-in queries are not present without config
7272 Expect (string (content )).NotTo (ContainSubstring ("name: CopyUsers :copyfrom" ))
7373 }
74+
75+ // Verify posts.sql FK-based list queries
76+ for _ , config := range generator .Config .SQL {
77+ path := filepath .Join (config .Queries , "posts.sql" )
78+ content , err := os .ReadFile (path )
79+ Expect (err ).NotTo (HaveOccurred ())
80+
81+ // FK-matching index list query is present by default
82+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByUserId :many" ))
83+ // Non-FK index list query is not present without opt-in
84+ Expect (string (content )).NotTo (ContainSubstring ("name: ListPostsByTitle :many" ))
85+ }
7486 })
7587
7688 When ("the queries directory does not exist" , func () {
@@ -106,6 +118,7 @@ var _ = Describe("Generator", func() {
106118 Options : sqlc.CodegenOptions {
107119 Queries : []string {
108120 "CopyUsers" ,
121+ "ListPostsByTitle" ,
109122 },
110123 },
111124 },
@@ -137,6 +150,18 @@ var _ = Describe("Generator", func() {
137150 // Opt-in queries that were listed are present
138151 Expect (string (content )).To (ContainSubstring ("name: CopyUsers :copyfrom" ))
139152 }
153+
154+ // Verify posts.sql opt-in list queries
155+ for _ , config := range generator .Config .SQL {
156+ path := filepath .Join (config .Queries , "posts.sql" )
157+ content , err := os .ReadFile (path )
158+ Expect (err ).NotTo (HaveOccurred ())
159+
160+ // FK-matching index list query is present by default
161+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByUserId :many" ))
162+ // Non-FK index list query is present because it was opted in
163+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByTitle :many" ))
164+ }
140165 })
141166
142167 It ("only generates default queries when queries is empty" , func () {
@@ -159,6 +184,16 @@ var _ = Describe("Generator", func() {
159184 // Opt-in queries are not present
160185 Expect (string (content )).NotTo (ContainSubstring ("name: CopyUsers :copyfrom" ))
161186 }
187+
188+ // Verify posts.sql FK-based list queries
189+ for _ , config := range generator .Config .SQL {
190+ path := filepath .Join (config .Queries , "posts.sql" )
191+ content , err := os .ReadFile (path )
192+ Expect (err ).NotTo (HaveOccurred ())
193+
194+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByUserId :many" ))
195+ Expect (string (content )).NotTo (ContainSubstring ("name: ListPostsByTitle :many" ))
196+ }
162197 })
163198
164199 It ("only generates default queries when codegen is nil" , func () {
@@ -178,6 +213,16 @@ var _ = Describe("Generator", func() {
178213 // Default List queries are present
179214 Expect (string (content )).To (ContainSubstring ("name: ListUsers :many" ))
180215 }
216+
217+ // Verify posts.sql FK-based list queries
218+ for _ , config := range generator .Config .SQL {
219+ path := filepath .Join (config .Queries , "posts.sql" )
220+ content , err := os .ReadFile (path )
221+ Expect (err ).NotTo (HaveOccurred ())
222+
223+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByUserId :many" ))
224+ Expect (string (content )).NotTo (ContainSubstring ("name: ListPostsByTitle :many" ))
225+ }
181226 })
182227
183228 It ("handles non-existent query names gracefully" , func () {
@@ -197,6 +242,16 @@ var _ = Describe("Generator", func() {
197242 // Default List queries are still present
198243 Expect (string (content )).To (ContainSubstring ("name: ListUsers :many" ))
199244 }
245+
246+ // Verify posts.sql FK-based list queries
247+ for _ , config := range generator .Config .SQL {
248+ path := filepath .Join (config .Queries , "posts.sql" )
249+ content , err := os .ReadFile (path )
250+ Expect (err ).NotTo (HaveOccurred ())
251+
252+ Expect (string (content )).To (ContainSubstring ("name: ListPostsByUserId :many" ))
253+ Expect (string (content )).NotTo (ContainSubstring ("name: ListPostsByTitle :many" ))
254+ }
200255 })
201256 })
202257 })
0 commit comments