Implemented postgres generator comment tests
https://github.com/go-jet/jet-test-data/pull/6
This commit is contained in:
parent
0f21699a1f
commit
30e02dc9c0
1 changed files with 111 additions and 0 deletions
|
|
@ -604,6 +604,7 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
||||||
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go", "floats.go", "people.go",
|
"mood.go", "person.go", "person_phone.go", "weird_names_table.go", "level.go", "user.go", "floats.go", "people.go",
|
||||||
"components.go", "vulnerabilities.go", "all_types_materialized_view.go", "sample_ranges.go")
|
"components.go", "vulnerabilities.go", "all_types_materialized_view.go", "sample_ranges.go")
|
||||||
testutils.AssertFileContent(t, modelDir+"/all_types.go", allTypesModelContent)
|
testutils.AssertFileContent(t, modelDir+"/all_types.go", allTypesModelContent)
|
||||||
|
testutils.AssertFileContent(t, modelDir+"/link.go", linkModelContent)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, tableDir, "all_types.go", "employee.go", "link.go",
|
testutils.AssertFileNamesEqual(t, tableDir, "all_types.go", "employee.go", "link.go",
|
||||||
"person.go", "person_phone.go", "weird_names_table.go", "user.go", "floats.go", "people.go", "table_use_schema.go",
|
"person.go", "person_phone.go", "weird_names_table.go", "user.go", "floats.go", "people.go", "table_use_schema.go",
|
||||||
|
|
@ -611,6 +612,8 @@ func TestGeneratedAllTypesSQLBuilderFiles(t *testing.T) {
|
||||||
testutils.AssertFileContent(t, tableDir+"/all_types.go", allTypesTableContent)
|
testutils.AssertFileContent(t, tableDir+"/all_types.go", allTypesTableContent)
|
||||||
testutils.AssertFileContent(t, tableDir+"/sample_ranges.go", sampleRangeTableContent)
|
testutils.AssertFileContent(t, tableDir+"/sample_ranges.go", sampleRangeTableContent)
|
||||||
|
|
||||||
|
testutils.AssertFileContent(t, tableDir+"/link.go", linkTableContent)
|
||||||
|
|
||||||
testutils.AssertFileNamesEqual(t, viewDir, "all_types_materialized_view.go", "all_types_view.go",
|
testutils.AssertFileNamesEqual(t, viewDir, "all_types_materialized_view.go", "all_types_view.go",
|
||||||
"view_use_schema.go")
|
"view_use_schema.go")
|
||||||
}
|
}
|
||||||
|
|
@ -650,6 +653,7 @@ package enum
|
||||||
|
|
||||||
import "github.com/go-jet/jet/v2/postgres"
|
import "github.com/go-jet/jet/v2/postgres"
|
||||||
|
|
||||||
|
// Level enum
|
||||||
var Level = &struct {
|
var Level = &struct {
|
||||||
Level1 postgres.StringExpression
|
Level1 postgres.StringExpression
|
||||||
Level2 postgres.StringExpression
|
Level2 postgres.StringExpression
|
||||||
|
|
@ -747,6 +751,25 @@ type AllTypes struct {
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
var linkModelContent = `
|
||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
// Link table
|
||||||
|
type Link struct {
|
||||||
|
ID int64 ` + "`sql:\"primary_key\"`" + ` // this is link id
|
||||||
|
URL string // link url
|
||||||
|
Name string // Unicode characters comment ₲鬼佬℧⇄↻
|
||||||
|
Description *string // '"Z\%_
|
||||||
|
}
|
||||||
|
`
|
||||||
|
|
||||||
var allTypesTableContent = `
|
var allTypesTableContent = `
|
||||||
//
|
//
|
||||||
// Code generated by go-jet DO NOT EDIT.
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
|
@ -1103,3 +1126,91 @@ func newSampleRangesTableImpl(schemaName, tableName, alias string) sampleRangesT
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
||||||
|
var linkTableContent = `
|
||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Link = newLinkTable("test_sample", "link", "")
|
||||||
|
|
||||||
|
// Link table
|
||||||
|
type linkTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnInteger // this is link id
|
||||||
|
URL postgres.ColumnString // link url
|
||||||
|
Name postgres.ColumnString // Unicode characters comment ₲鬼佬℧⇄↻
|
||||||
|
Description postgres.ColumnString // '"Z\%_
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type LinkTable struct {
|
||||||
|
linkTable
|
||||||
|
|
||||||
|
EXCLUDED linkTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new LinkTable with assigned alias
|
||||||
|
func (a LinkTable) AS(alias string) *LinkTable {
|
||||||
|
return newLinkTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new LinkTable with assigned schema name
|
||||||
|
func (a LinkTable) FromSchema(schemaName string) *LinkTable {
|
||||||
|
return newLinkTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new LinkTable with assigned table prefix
|
||||||
|
func (a LinkTable) WithPrefix(prefix string) *LinkTable {
|
||||||
|
return newLinkTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new LinkTable with assigned table suffix
|
||||||
|
func (a LinkTable) WithSuffix(suffix string) *LinkTable {
|
||||||
|
return newLinkTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newLinkTable(schemaName, tableName, alias string) *LinkTable {
|
||||||
|
return &LinkTable{
|
||||||
|
linkTable: newLinkTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newLinkTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newLinkTableImpl(schemaName, tableName, alias string) linkTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.IntegerColumn("id")
|
||||||
|
URLColumn = postgres.StringColumn("url")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
DescriptionColumn = postgres.StringColumn("description")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, URLColumn, NameColumn, DescriptionColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{URLColumn, NameColumn, DescriptionColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return linkTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
URL: URLColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
Description: DescriptionColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue