35 lines
888 B
Go
35 lines
888 B
Go
package schema
|
|
|
|
import "testing"
|
|
|
|
func TestTableGetUpdateableColumns(t *testing.T) {
|
|
tbl := Table{
|
|
Columns: []Column{
|
|
{Name: "rowid"},
|
|
{Name: "version", Type: "integer", IsPrimaryKey: true},
|
|
{Name: "created_at", Type: "integer"},
|
|
{Name: "updated_at", Type: "integer"},
|
|
{Name: "is_deleted", Type: "integer"},
|
|
{Name: "deleted_at", Type: "integer"},
|
|
{Name: "owner_id", Type: "integer", IsForeignKey: true},
|
|
{Name: "name", Type: "text"},
|
|
},
|
|
}
|
|
|
|
gotColumns := tbl.GetUpdateableColumns()
|
|
got := make([]string, 0, len(gotColumns))
|
|
for _, col := range gotColumns {
|
|
got = append(got, col.Name)
|
|
}
|
|
|
|
want := []string{"updated_at", "owner_id", "name"}
|
|
if len(got) != len(want) {
|
|
t.Fatalf("GetUpdateableColumns() = %v, want %v", got, want)
|
|
}
|
|
for i := range want {
|
|
if got[i] != want[i] {
|
|
t.Fatalf("GetUpdateableColumns() = %v, want %v", got, want)
|
|
}
|
|
}
|
|
}
|