Test clean up.

Upgrade dependencies.
This commit is contained in:
go-jet 2023-04-06 11:26:09 +02:00
parent ebfaa62e93
commit b520a61b6e
4 changed files with 115 additions and 87 deletions

View file

@ -1,6 +1,7 @@
package postgres
import (
"database/sql"
"github.com/google/uuid"
"testing"
@ -478,9 +479,6 @@ FROM test_sample."User";
}
func TestMutableColumnsExcludeGeneratedColumn(t *testing.T) {
// clean up
_, err := People.DELETE().WHERE(People.PeopleID.GT(Int(3))).Exec(db)
require.NoError(t, err)
t.Run("should not have the generated column in mutableColumns", func(t *testing.T) {
require.Equal(t, 2, len(People.MutableColumns))
@ -508,46 +506,47 @@ func TestMutableColumnsExcludeGeneratedColumn(t *testing.T) {
})
t.Run("should insert without generated columns", func(t *testing.T) {
insertQuery := People.INSERT(
People.MutableColumns,
).MODEL(
model.People{
PeopleName: "Dario",
PeopleHeightCm: testutils.Float64Ptr(120),
},
).RETURNING(
People.MutableColumns,
)
testutils.ExecuteInTxAndRollback(t, db, func(tx *sql.Tx) {
insertQuery := People.INSERT(
People.MutableColumns,
).MODEL(
model.People{
PeopleName: "Dario",
PeopleHeightCm: testutils.Float64Ptr(120),
},
).RETURNING(
People.MutableColumns,
)
testutils.AssertDebugStatementSql(t, insertQuery, `
testutils.AssertDebugStatementSql(t, insertQuery, `
INSERT INTO test_sample.people (people_name, people_height_cm)
VALUES ('Dario', 120)
RETURNING people.people_name AS "people.people_name",
people.people_height_cm AS "people.people_height_cm";
`)
var result model.People
err := insertQuery.Query(tx, &result)
require.NoError(t, err)
var result model.People
err := insertQuery.Query(db, &result)
require.NoError(t, err)
require.Equal(t, "Dario", result.PeopleName)
require.Equal(t, 120., *result.PeopleHeightCm)
require.Equal(t, "Dario", result.PeopleName)
require.Equal(t, 120., *result.PeopleHeightCm)
query := SELECT(
People.AllColumns,
).FROM(
People,
).ORDER_BY(
People.PeopleID.DESC(),
).LIMIT(1)
query := SELECT(
People.AllColumns,
).FROM(
People,
).ORDER_BY(
People.PeopleID.DESC(),
).LIMIT(1)
result = model.People{}
result = model.People{}
err = query.Query(tx, &result)
require.NoError(t, err)
err = query.Query(db, &result)
require.NoError(t, err)
require.Equal(t, "Dario", result.PeopleName)
require.Equal(t, 120., *result.PeopleHeightCm)
require.InEpsilon(t, 47.24, *result.PeopleHeightIn, 1e-3)
require.Equal(t, "Dario", result.PeopleName)
require.Equal(t, 120., *result.PeopleHeightCm)
require.InEpsilon(t, 47.24, *result.PeopleHeightIn, 1e-3)
})
})
}

View file

@ -679,19 +679,24 @@ func TestExecutionCustomPKTypes1(t *testing.T) {
} `alias:"customer"`
}
stmt := City.
INNER_JOIN(Address, Address.CityID.EQ(City.CityID)).
INNER_JOIN(Customer, Customer.AddressID.EQ(Address.AddressID)).
SELECT(
City.CityID,
City.City,
Customer.CustomerID,
Customer.LastName,
Address.AddressID,
Address.Address,
).
WHERE(City.City.EQ(String("London")).OR(City.City.EQ(String("York")))).
ORDER_BY(City.CityID, Address.AddressID, Customer.CustomerID)
stmt := SELECT(
City.CityID,
City.City,
Customer.CustomerID,
Customer.LastName,
Address.AddressID,
Address.Address,
).FROM(
City.
INNER_JOIN(Address, Address.CityID.EQ(City.CityID)).
INNER_JOIN(Customer, Customer.AddressID.EQ(Address.AddressID)),
).WHERE(
City.City.EQ(String("London")).OR(City.City.EQ(String("York"))),
).ORDER_BY(
City.CityID,
Address.AddressID,
Customer.CustomerID,
)
testutils.AssertDebugStatementSql(t, stmt, `
SELECT city.city_id AS "city.city_id",
@ -795,19 +800,24 @@ func TestExecutionCustomPKTypes2(t *testing.T) {
} `alias:"customer"`
}
stmt := City.
INNER_JOIN(Address, Address.CityID.EQ(City.CityID)).
INNER_JOIN(Customer, Customer.AddressID.EQ(Address.AddressID)).
SELECT(
City.CityID,
City.City,
Customer.CustomerID,
Customer.LastName,
Address.AddressID,
Address.Address,
).
WHERE(City.City.EQ(String("London")).OR(City.City.EQ(String("York")))).
ORDER_BY(City.CityID, Address.AddressID, Customer.CustomerID)
stmt := SELECT(
City.CityID,
City.City,
Customer.CustomerID,
Customer.LastName,
Address.AddressID,
Address.Address,
).FROM(
City.
INNER_JOIN(Address, Address.CityID.EQ(City.CityID)).
INNER_JOIN(Customer, Customer.AddressID.EQ(Address.AddressID)),
).WHERE(
City.City.EQ(String("London")).OR(City.City.EQ(String("York"))),
).ORDER_BY(
City.CityID,
Address.AddressID,
Customer.CustomerID,
)
testutils.AssertDebugStatementSql(t, stmt, `
SELECT city.city_id AS "city.city_id",
@ -875,24 +885,28 @@ func TestJoinQuerySliceWithPtrs(t *testing.T) {
Film *[]*model.Film
}
limit := int64(3)
query := SELECT(
Language.AllColumns,
Film.AllColumns,
).FROM(
Film.
INNER_JOIN(Language, Film.LanguageID.EQ(Language.LanguageID)),
).LIMIT(
int64(3),
)
query := Film.INNER_JOIN(Language, Film.LanguageID.EQ(Language.LanguageID)).
SELECT(Language.AllColumns, Film.AllColumns).
LIMIT(limit)
filmsPerLanguageWithPtrs := []*FilmsPerLanguage{}
var filmsPerLanguageWithPtrs []*FilmsPerLanguage
err := query.Query(db, &filmsPerLanguageWithPtrs)
require.NoError(t, err)
require.Equal(t, len(filmsPerLanguageWithPtrs), 1)
require.Equal(t, len(*filmsPerLanguageWithPtrs[0].Film), int(limit))
require.Equal(t, len(*filmsPerLanguageWithPtrs[0].Film), 3)
}
func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
query := Customer.SELECT(Customer.FirstName, Customer.LastName, Customer.Email)
customers := []model.Customer{}
var customers []model.Customer
err := query.Query(db, &customers)
@ -901,9 +915,10 @@ func TestSelect_WithoutUniqueColumnSelected(t *testing.T) {
}
func TestSelectOrderByAscDesc(t *testing.T) {
customersAsc := []model.Customer{}
var customersAsc []model.Customer
err := Customer.SELECT(Customer.CustomerID, Customer.FirstName, Customer.LastName).
err := SELECT(Customer.CustomerID, Customer.FirstName, Customer.LastName).
FROM(Customer).
ORDER_BY(Customer.FirstName.ASC()).
Query(db, &customersAsc)