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",
|
||||
"components.go", "vulnerabilities.go", "all_types_materialized_view.go", "sample_ranges.go")
|
||||
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",
|
||||
"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+"/sample_ranges.go", sampleRangeTableContent)
|
||||
|
||||
testutils.AssertFileContent(t, tableDir+"/link.go", linkTableContent)
|
||||
|
||||
testutils.AssertFileNamesEqual(t, viewDir, "all_types_materialized_view.go", "all_types_view.go",
|
||||
"view_use_schema.go")
|
||||
}
|
||||
|
|
@ -650,6 +653,7 @@ package enum
|
|||
|
||||
import "github.com/go-jet/jet/v2/postgres"
|
||||
|
||||
// Level enum
|
||||
var Level = &struct {
|
||||
Level1 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 = `
|
||||
//
|
||||
// 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