Added helpers tests
* Added slice and singular object helper for primaryKeyArgs
This commit is contained in:
parent
ecb20cca4a
commit
c34f09aa55
5 changed files with 96 additions and 26 deletions
|
@ -79,6 +79,9 @@ func (o {{$varNameSingular}}Slice) DeleteAllX(exec boil.Executor) error {
|
|||
if err != nil {
|
||||
return fmt.Errorf("{{.PkgName}}: unable to delete all from {{$varNameSingular}} slice: %s", err)
|
||||
}
|
||||
if boil.DebugMode {
|
||||
fmt.Fprintln(boil.DebugWriter, args)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -8,6 +8,16 @@ var {{$varNameSingular}}AutoIncPrimaryKey = "{{autoIncPrimaryKey .Table.Columns
|
|||
|
||||
{{if hasPrimaryKey .Table.PKey -}}
|
||||
{{- $tableNameSingular := titleCaseSingular .Table.Name -}}
|
||||
func (o {{$tableNameSingular}}) inPrimaryKeyArgs() []interface{} {
|
||||
var args []interface{}
|
||||
|
||||
{{- range $key, $value := .Table.PKey.Columns }}
|
||||
args = append(args, o.{{titleCase $value}})
|
||||
{{ end -}}
|
||||
|
||||
return args
|
||||
}
|
||||
|
||||
func (o {{$varNameSingular}}Slice) inPrimaryKeyArgs() []interface{} {
|
||||
var args []interface{}
|
||||
|
||||
|
|
|
@ -9,16 +9,16 @@ func Test{{$tableNamePlural}}All(t *testing.T) {
|
|||
// Start from a clean slate
|
||||
{{$varNamePlural}}DeleteAllRows(t)
|
||||
|
||||
r := make({{$varNameSingular}}Slice, 2)
|
||||
if err = boil.RandomizeSlice(&r); err != nil {
|
||||
o := make({{$varNameSingular}}Slice, 2)
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} slice: %s", err)
|
||||
}
|
||||
|
||||
// insert two random columns to test DeleteAll
|
||||
for i := 0; i < len(r); i++ {
|
||||
err = r[i].Insert()
|
||||
for i := 0; i < len(o); i++ {
|
||||
err = o[i].Insert()
|
||||
if err != nil {
|
||||
t.Errorf("Unable to insert {{$tableNameSingular}}:\n%#v\nErr: %s", r[i], err)
|
||||
t.Errorf("Unable to insert {{$tableNameSingular}}:\n%#v\nErr: %s", o[i], err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ func Test{{$tableNamePlural}}All(t *testing.T) {
|
|||
t.Errorf("Expected {{.Table.Name}} table to be empty, but got %d rows", c)
|
||||
}
|
||||
|
||||
o := make({{$varNameSingular}}Slice, 3)
|
||||
o = make({{$varNameSingular}}Slice, 3)
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} slice: %s", err)
|
||||
}
|
||||
|
|
|
@ -13,22 +13,28 @@ func {{$varNamePlural}}DeleteAllRows(t *testing.T) {
|
|||
|
||||
func Test{{$tableNamePlural}}Delete(t *testing.T) {
|
||||
var err error
|
||||
var c int64
|
||||
|
||||
// Start from a clean slate
|
||||
{{$varNamePlural}}DeleteAllRows(t)
|
||||
|
||||
r := make({{$varNameSingular}}Slice, 3)
|
||||
// Check number of rows in table to ensure DeleteAll was successful
|
||||
c, err = {{$tableNamePlural}}().Count()
|
||||
|
||||
if c != 0 {
|
||||
t.Errorf("Expected 0 rows after ObjDeleteAllRows() call, but got %d rows", c)
|
||||
}
|
||||
|
||||
o := make({{$varNameSingular}}Slice, 3)
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} slice: %s", err)
|
||||
}
|
||||
|
||||
// insert random columns to test DeleteAll
|
||||
for i := 0; i < len(r); i++ {
|
||||
err = boil.RandomizeStruct(r[i])
|
||||
for i := 0; i < len(o); i++ {
|
||||
err = o[i].Insert()
|
||||
if err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} struct: %s", i, err)
|
||||
}
|
||||
|
||||
err = r[i].Insert()
|
||||
if err != nil {
|
||||
t.Errorf("Unable to insert {{$tableNameSingular}}:\n%#v\nErr: %s", r[i], err)
|
||||
t.Errorf("Unable to insert {{$tableNameSingular}}:\n%#v\nErr: %s", o[i], err)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,21 +45,19 @@ func Test{{$tableNamePlural}}Delete(t *testing.T) {
|
|||
}
|
||||
|
||||
// Check number of rows in table to ensure DeleteAll was successful
|
||||
var c int64
|
||||
c, err = {{$tableNamePlural}}().Count()
|
||||
|
||||
if c != 0 {
|
||||
t.Errorf("Expected {{.Table.Name}} table to be empty, but got %d rows", c)
|
||||
t.Errorf("Expected 0 rows after Obj().DeleteAll() call, but got %d rows", c)
|
||||
}
|
||||
|
||||
// insert random columns to test DeleteAll
|
||||
o := make({{$varNameSingular}}Slice, 3)
|
||||
for i := 0; i < len(o); i++ {
|
||||
err = boil.RandomizeStruct(o[i])
|
||||
if err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} struct: %s", i, err)
|
||||
}
|
||||
o = make({{$varNameSingular}}Slice, 3)
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} slice: %s", err)
|
||||
}
|
||||
|
||||
for i := 0; i < len(o); i++ {
|
||||
err = o[i].Insert()
|
||||
if err != nil {
|
||||
t.Errorf("Unable to insert {{$tableNameSingular}}:\n%#v\nErr: %s", o[i], err)
|
||||
|
@ -67,11 +71,15 @@ func Test{{$tableNamePlural}}Delete(t *testing.T) {
|
|||
c, err = {{$tableNamePlural}}().Count()
|
||||
|
||||
if c != 0 {
|
||||
t.Errorf("Expected {{.Table.Name}} table to be empty, but got %d rows", c)
|
||||
t.Errorf("Expected 0 rows after objSlice.DeleteAll() call, but got %d rows", c)
|
||||
}
|
||||
|
||||
// insert random columns to test Delete
|
||||
o = make({{$varNameSingular}}Slice, 3)
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("%d: Unable to randomize {{$tableNameSingular}} slice: %s", err)
|
||||
}
|
||||
|
||||
for i := 0; i < len(o); i++ {
|
||||
err = boil.RandomizeStruct(o[i])
|
||||
if err != nil {
|
||||
|
@ -84,12 +92,12 @@ func Test{{$tableNamePlural}}Delete(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
//o[0].Delete()
|
||||
o[0].Delete()
|
||||
|
||||
// Check number of rows in table to ensure DeleteAll was successful
|
||||
c, err = {{$tableNamePlural}}().Count()
|
||||
|
||||
if c != 2 {
|
||||
t.Errorf("Expected {{.Table.Name}} table to have 2 rows, but got %d rows", c)
|
||||
t.Errorf("Expected 2 rows after obj.Delete() call, but got %d rows", c)
|
||||
}
|
||||
}
|
||||
|
|
49
cmds/templates_test/helpers.tpl
Normal file
49
cmds/templates_test/helpers.tpl
Normal file
|
@ -0,0 +1,49 @@
|
|||
{{- $tableNameSingular := titleCaseSingular .Table.Name -}}
|
||||
{{- $dbName := singular .Table.Name -}}
|
||||
{{- $tableNamePlural := titleCasePlural .Table.Name -}}
|
||||
{{- $varNamePlural := camelCasePlural .Table.Name -}}
|
||||
{{- $varNameSingular := camelCaseSingular .Table.Name -}}
|
||||
func Test{{$tableNamePlural}}InPrimaryKeyArgs(t *testing.T) {
|
||||
var err error
|
||||
var o {{$tableNameSingular}}
|
||||
o = {{$tableNameSingular}}{}
|
||||
|
||||
if err = boil.RandomizeStruct(&o); err != nil {
|
||||
t.Errorf("Could not randomize struct: %s", err)
|
||||
}
|
||||
|
||||
args := o.inPrimaryKeyArgs()
|
||||
|
||||
if len(args) != len({{$varNameSingular}}PrimaryKeyColumns) {
|
||||
t.Errorf("Expected args to be len %d, but got %d", len({{$varNameSingular}}PrimaryKeyColumns), len(args))
|
||||
}
|
||||
|
||||
{{range $key, $value := .Table.PKey.Columns -}}
|
||||
if o.{{titleCase $value}} != args[{{$key}}] {
|
||||
t.Errorf("Expected args[{{$key}}] to be value of o.{{titleCase $value}}, but got %#v", args[{{$key}}])
|
||||
}
|
||||
{{- end}}
|
||||
}
|
||||
|
||||
func Test{{$tableNamePlural}}SliceInPrimaryKeyArgs(t *testing.T) {
|
||||
var err error
|
||||
o := make({{$varNameSingular}}Slice, 3)
|
||||
|
||||
if err = boil.RandomizeSlice(&o); err != nil {
|
||||
t.Errorf("Could not randomize slice: %s", err)
|
||||
}
|
||||
|
||||
args := o.inPrimaryKeyArgs()
|
||||
|
||||
if len(args) != len({{$varNameSingular}}PrimaryKeyColumns) * 3 {
|
||||
t.Errorf("Expected args to be len %d, but got %d", len({{$varNameSingular}}PrimaryKeyColumns) * 3, len(args))
|
||||
}
|
||||
|
||||
for i := 0; i < len({{$varNameSingular}}PrimaryKeyColumns) * 3; i++ {
|
||||
{{range $key, $value := .Table.PKey.Columns -}}
|
||||
if o[i].{{titleCase $value}} != args[i] {
|
||||
t.Errorf("Expected args[%d] to be value of o.{{titleCase $value}}, but got %#v", i, args[i])
|
||||
}
|
||||
}
|
||||
{{- end}}
|
||||
}
|
Loading…
Add table
Reference in a new issue