From 08ae1531a2a68d4997649ebe21bee74a618b9a5e Mon Sep 17 00:00:00 2001 From: fairking <13495631+fairking@users.noreply.github.com> Date: Thu, 18 Apr 2024 23:57:59 +0200 Subject: [PATCH 1/2] Add automated tests for multiple selects --- builder/query_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/builder/query_test.go b/builder/query_test.go index 3c33b18..78c59f9 100644 --- a/builder/query_test.go +++ b/builder/query_test.go @@ -105,6 +105,10 @@ func TestQuery_Build(t *testing.T) { result: "SELECT `users`.* FROM `users` FOR UPDATE;", query: rel.From("users").Lock("FOR UPDATE"), }, + { + result: "SELECT `id`,`name` FROM `contacts`;", + query: rel.Select("id").Select("name").From("contacts"), + }, } for _, test := range tests { @@ -185,6 +189,10 @@ func TestQuery_Build_ordinal(t *testing.T) { result: "SELECT \"users\".* FROM \"users\" FOR UPDATE;", query: rel.From("users").Lock("FOR UPDATE"), }, + { + result: "SELECT \"id\",\"name\" FROM \"contacts\";", + query: rel.Select("id", "name").From("contacts"), + }, } for _, test := range tests { From 76069f86484e1e952881ba6334eb23a0fbf171e8 Mon Sep 17 00:00:00 2001 From: fairking <13495631+fairking@users.noreply.github.com> Date: Fri, 19 Apr 2024 01:15:23 +0200 Subject: [PATCH 2/2] Allow multiple selects Adjust tests to various cases --- builder/query_test.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/builder/query_test.go b/builder/query_test.go index 78c59f9..604b8fc 100644 --- a/builder/query_test.go +++ b/builder/query_test.go @@ -106,9 +106,17 @@ func TestQuery_Build(t *testing.T) { query: rel.From("users").Lock("FOR UPDATE"), }, { - result: "SELECT `id`,`name` FROM `contacts`;", + result: "SELECT `contacts`.`id`,`contacts`.`name` FROM `contacts`;", + query: rel.Select("id", "name").From("contacts"), + }, + { + result: "SELECT `contacts`.`id`,`contacts`.`name` FROM `contacts`;", query: rel.Select("id").Select("name").From("contacts"), }, + { + result: "SELECT `contacts`.`id`,`contacts`.`name` FROM `contacts`;", + query: rel.From("contacts").Select("id").Select("name"), + }, } for _, test := range tests { @@ -190,9 +198,17 @@ func TestQuery_Build_ordinal(t *testing.T) { query: rel.From("users").Lock("FOR UPDATE"), }, { - result: "SELECT \"id\",\"name\" FROM \"contacts\";", + result: "SELECT \"contacts\".\"id\",\"contacts\".\"name\" FROM \"contacts\";", query: rel.Select("id", "name").From("contacts"), }, + { + result: "SELECT \"contacts\".\"id\",\"contacts\".\"name\" FROM \"contacts\";", + query: rel.Select("id").Select("name").From("contacts"), + }, + { + result: "SELECT \"contacts\".\"id\",\"contacts\".\"name\" FROM \"contacts\";", + query: rel.From("contacts").Select("id").Select("name"), + }, } for _, test := range tests {