Test clean up.
Upgrade dependencies.
This commit is contained in:
parent
ebfaa62e93
commit
b520a61b6e
4 changed files with 115 additions and 87 deletions
|
|
@ -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)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue