github.com/eden-framework/sqlx@v0.0.2/builder/def_columns_test.go (about)

     1  package builder
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/onsi/gomega"
     7  )
     8  
     9  func TestColumns(t *testing.T) {
    10  	columns := Columns{}
    11  
    12  	t.Run("empty columns", func(t *testing.T) {
    13  		gomega.NewWithT(t).Expect(columns.Len()).To(gomega.Equal(0))
    14  		gomega.NewWithT(t).Expect(columns.AutoIncrement()).To(gomega.BeNil())
    15  	})
    16  	t.Run("added cols", func(t *testing.T) {
    17  		columns.Add(
    18  			Col("F_id").Field("ID").Type(1, `,autoincrement`),
    19  		)
    20  
    21  		autoIncrementCol := columns.AutoIncrement()
    22  
    23  		gomega.NewWithT(t).Expect(autoIncrementCol).NotTo(gomega.BeNil())
    24  		gomega.NewWithT(t).Expect(autoIncrementCol.Name).To(gomega.Equal("f_id"))
    25  
    26  		t.Run("get col by FieldName", func(t *testing.T) {
    27  
    28  			gomega.NewWithT(t).Expect(columns.F("ID2")).To(gomega.BeNil())
    29  
    30  			gomega.NewWithT(t).Expect(MustCols(columns.Fields("ID2")).Len()).To(gomega.Equal(0))
    31  			gomega.NewWithT(t).Expect(MustCols(columns.Fields()).Len()).To(gomega.Equal(1))
    32  
    33  			gomega.NewWithT(t).Expect(MustCols(columns.Fields("ID2")).List()).To(gomega.HaveLen(0))
    34  			gomega.NewWithT(t).Expect(MustCols(columns.Fields()).Len()).To(gomega.Equal(1))
    35  		})
    36  		t.Run("get col by ColName", func(t *testing.T) {
    37  			gomega.NewWithT(t).Expect(MustCols(columns.Cols("F_id")).Len()).To(gomega.Equal(1))
    38  			gomega.NewWithT(t).Expect(MustCols(columns.Cols()).Len()).To(gomega.Equal(1))
    39  			gomega.NewWithT(t).Expect(MustCols(columns.Cols()).List()).To(gomega.HaveLen(1))
    40  
    41  			gomega.NewWithT(t).Expect(MustCols(columns.Cols()).FieldNames()).To(gomega.Equal([]string{"ID"}))
    42  		})
    43  	})
    44  }
    45  
    46  func MustCols(cols *Columns, err error) *Columns {
    47  	return cols
    48  }