From 654997b09b4df7be10e4bb29b82233cb145d9e6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Garcia?= Date: Wed, 14 Oct 2020 13:53:09 -0300 Subject: [PATCH] Improve coverate on Query & QueryOne funcs --- kiss_orm_test.go | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/kiss_orm_test.go b/kiss_orm_test.go index 9517164..8b84d38 100644 --- a/kiss_orm_test.go +++ b/kiss_orm_test.go @@ -86,6 +86,37 @@ func TestQuery(t *testing.T) { assert.Equal(t, "Bia Garcia", users[1].Name) assert.NotEqual(t, 0, users[1].ID) }) + + t.Run("should report error if input is not a pointer to a slice of structs", func(t *testing.T) { + db := connectDB(t) + defer db.Close() + + db.Create(&User{ + Name: "Andréa Sá", + }) + + db.Create(&User{ + Name: "Caio Sá", + }) + + ctx := context.Background() + c := Client{ + db: db, + tableName: "users", + } + err = c.Query(ctx, &User{}, `SELECT * FROM users WHERE name like ?;`, "% Sá") + assert.NotEqual(t, nil, err) + + err = c.Query(ctx, []User{}, `SELECT * FROM users WHERE name like ?;`, "% Sá") + assert.NotEqual(t, nil, err) + + var i int + err = c.Query(ctx, &i, `SELECT * FROM users WHERE name like ?;`, "% Sá") + assert.NotEqual(t, nil, err) + + err = c.Query(ctx, &[]int{}, `SELECT * FROM users WHERE name like ?;`, "% Sá") + assert.NotEqual(t, nil, err) + }) } func TestQueryOne(t *testing.T) { @@ -129,7 +160,7 @@ func TestQueryOne(t *testing.T) { assert.NotEqual(t, 0, u.ID) }) - t.Run("should report error if input is no a pointer to struct", func(t *testing.T) { + t.Run("should report error if input is not a pointer to struct", func(t *testing.T) { db := connectDB(t) defer db.Close() @@ -146,9 +177,11 @@ func TestQueryOne(t *testing.T) { db: db, tableName: "users", } - users := []User{} - err = c.QueryOne(ctx, &users, `SELECT * FROM users WHERE name like ?;`, "% Sá") + err = c.QueryOne(ctx, &[]User{}, `SELECT * FROM users WHERE name like ?;`, "% Sá") + assert.NotEqual(t, nil, err) + + err = c.QueryOne(ctx, User{}, `SELECT * FROM users WHERE name like ?;`, "% Sá") assert.NotEqual(t, nil, err) }) }