b1f8ac453b
feat!: base template * first bit of templating * codeowners * linuxbased * restart * baseline project * add grpc api and basic integration test * startqueue * queueMsg * splitscripts * migrations * queueintegrationtest * gateway
35 lines
702 B
Go
35 lines
702 B
Go
package name_test
|
|
|
|
import (
|
|
"context"
|
|
"gotemplate/internal/database/repository"
|
|
"gotemplate/internal/name"
|
|
"testing"
|
|
|
|
"github.com/pashagolub/pgxmock/v3"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestGetName(t *testing.T) {
|
|
ctx := context.Background()
|
|
|
|
db, err := pgxmock.NewConn()
|
|
if err != nil {
|
|
t.Fatalf("failed to open pgxmock database: %v", err)
|
|
}
|
|
defer db.Close(ctx)
|
|
|
|
queries := repository.New(db)
|
|
nameSvc := name.New(ctx, queries)
|
|
expectedName := "AA"
|
|
|
|
rows := pgxmock.NewRows([]string{"name"})
|
|
db.ExpectQuery("SELECT name FROM names where name = $1").
|
|
WillReturnRows(rows)
|
|
|
|
name, err := nameSvc.Get(ctx, expectedName)
|
|
|
|
assert.NotNil(t, err)
|
|
assert.Equal(t, "", name)
|
|
}
|