@@ -26,6 +26,7 @@ var _ = Describe("Config", func() {
2626 opts := config .SQL [0 ].GetOptions ()
2727 Expect (opts .Queries ).To (HaveLen (2 ))
2828 Expect (opts .Queries ).To (ContainElements ("CopyUsers" , "GetUserByEmail" ))
29+ Expect (opts .Tables .Exclude ).To (ContainElement ("posts" ))
2930 })
3031
3132 When ("the file does not exist" , func () {
@@ -50,6 +51,7 @@ var _ = Describe("Config", func() {
5051 sql := sqlc.SQL {}
5152 opts := sql .GetOptions ()
5253 Expect (opts .Queries ).To (BeNil ())
54+ Expect (opts .Tables .Exclude ).To (BeNil ())
5355 })
5456
5557 It ("returns empty options when no matching plugin" , func () {
@@ -60,6 +62,7 @@ var _ = Describe("Config", func() {
6062 }
6163 opts := sql .GetOptions ()
6264 Expect (opts .Queries ).To (BeNil ())
65+ Expect (opts .Tables .Exclude ).To (BeNil ())
6366 })
6467
6568 It ("returns options for the gen-queries plugin" , func () {
@@ -70,13 +73,15 @@ var _ = Describe("Config", func() {
7073 Out : "ent/query" ,
7174 Options : sqlc.CodegenOptions {
7275 Queries : []string {"ListUsers" , "CopyUsers" },
76+ Tables : sqlc.TableOptions {Exclude : []string {"audit_logs" }},
7377 },
7478 },
7579 },
7680 }
7781 opts := sql .GetOptions ()
7882 Expect (opts .Queries ).To (HaveLen (2 ))
7983 Expect (opts .Queries ).To (ContainElements ("ListUsers" , "CopyUsers" ))
84+ Expect (opts .Tables .Exclude ).To (ContainElement ("audit_logs" ))
8085 })
8186 })
8287
@@ -142,4 +147,47 @@ var _ = Describe("Config", func() {
142147 Expect (exists ).To (BeFalse ())
143148 })
144149 })
150+
151+ Describe ("SQL.GetExcludeSet" , func () {
152+ It ("returns an empty map when codegen is nil" , func () {
153+ sql := sqlc.SQL {}
154+ excludeSet := sql .GetExcludeSet ()
155+ Expect (excludeSet ).NotTo (BeNil ())
156+ Expect (excludeSet ).To (BeEmpty ())
157+ })
158+
159+ It ("returns an empty map when exclude is empty" , func () {
160+ sql := sqlc.SQL {
161+ Codegen : []sqlc.Codegen {
162+ {
163+ Plugin : "gen-queries" ,
164+ Out : "out" ,
165+ Options : sqlc.CodegenOptions {Tables : sqlc.TableOptions {Exclude : []string {}}},
166+ },
167+ },
168+ }
169+ excludeSet := sql .GetExcludeSet ()
170+ Expect (excludeSet ).NotTo (BeNil ())
171+ Expect (excludeSet ).To (BeEmpty ())
172+ })
173+
174+ It ("returns a map with excluded table names" , func () {
175+ sql := sqlc.SQL {
176+ Codegen : []sqlc.Codegen {
177+ {
178+ Plugin : "gen-queries" ,
179+ Out : "out" ,
180+ Options : sqlc.CodegenOptions {
181+ Tables : sqlc.TableOptions {Exclude : []string {"users" , "analytics.events" }},
182+ },
183+ },
184+ },
185+ }
186+ excludeSet := sql .GetExcludeSet ()
187+ Expect (excludeSet ).To (HaveLen (2 ))
188+ Expect (excludeSet ["users" ]).To (BeTrue ())
189+ Expect (excludeSet ["analytics.events" ]).To (BeTrue ())
190+ Expect (excludeSet ["posts" ]).To (BeFalse ())
191+ })
192+ })
145193})
0 commit comments