53 lines
1.4 KiB
Go
53 lines
1.4 KiB
Go
package prisma
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"git.warky.dev/wdevs/relspecgo/pkg/models"
|
|
"git.warky.dev/wdevs/relspecgo/pkg/writers"
|
|
)
|
|
|
|
func TestGenerateGenerator_DefaultsToPrismaClientJS(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
writer := NewWriter(&writers.WriterOptions{})
|
|
db := models.InitDatabase("testdb")
|
|
|
|
got := writer.generateGenerator(db)
|
|
if !strings.Contains(got, `provider = "prisma-client-js"`) {
|
|
t.Fatalf("expected prisma-client-js generator, got:\n%s", got)
|
|
}
|
|
if strings.Contains(got, `output = "./generated"`) {
|
|
t.Fatalf("did not expect prisma7 output path in default generator:\n%s", got)
|
|
}
|
|
}
|
|
|
|
func TestGenerateGenerator_Prisma7FlagUsesPrismaClient(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
writer := NewWriter(&writers.WriterOptions{Prisma7: true})
|
|
db := models.InitDatabase("testdb")
|
|
|
|
got := writer.generateGenerator(db)
|
|
if !strings.Contains(got, `provider = "prisma-client"`) {
|
|
t.Fatalf("expected prisma-client generator, got:\n%s", got)
|
|
}
|
|
if !strings.Contains(got, `output = "./generated"`) {
|
|
t.Fatalf("expected prisma7 output path, got:\n%s", got)
|
|
}
|
|
}
|
|
|
|
func TestGenerateGenerator_Prisma7SourceFormatUsesPrismaClient(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
writer := NewWriter(&writers.WriterOptions{})
|
|
db := models.InitDatabase("testdb")
|
|
db.SourceFormat = "prisma7"
|
|
|
|
got := writer.generateGenerator(db)
|
|
if !strings.Contains(got, `provider = "prisma-client"`) {
|
|
t.Fatalf("expected prisma-client generator from source format, got:\n%s", got)
|
|
}
|
|
}
|