github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgPage/kmgPage_test.go (about)

     1  package kmgPage_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/bronze1man/kmg/kmgPage"
     7  	"github.com/bronze1man/kmg/kmgSql"
     8  	"github.com/bronze1man/kmg/kmgSql/MysqlAst"
     9  	"github.com/bronze1man/kmg/kmgTest"
    10  )
    11  
    12  func test_init() []map[string]string {
    13  	test_map := map[string]string{"a": "a1", "b": "b1"}
    14  	arr := []map[string]string{test_map, test_map, test_map}
    15  	arr[0] = test_map
    16  	arr[1] = test_map
    17  	arr[2] = test_map
    18  	return arr
    19  }
    20  
    21  func TestPagination(ot *testing.T) {
    22  	page := &kmgPage.KmgPage{}
    23  	page.TotalItem = 10
    24  	page.ItemPerPage = 2
    25  	kmgTest.Equal(page.GetTotalPage(), 5)
    26  }
    27  
    28  func TestKmgPageWithDb(ot *testing.T) {
    29  	setupDb()
    30  	kmgSql.MustExec("DROP TABLE IF EXISTS `kmgSql_test_table`")
    31  	kmgSql.MustExec("CREATE TABLE `kmgSql_test_table` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Info` varchar(255) COLLATE utf8_bin DEFAULT NULL, PRIMARY KEY (`Id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin")
    32  	kmgSql.MustSetTableDataYaml(`
    33  kmgSql_test_table:
    34     - Id: 1
    35     - Id: 2
    36     - Id: 3
    37     - Id: 4
    38  `)
    39  	pager := kmgPage.CreateFromSelectCommand(kmgPage.CreateFromSelectCommandRequest{
    40  		Select:      MysqlAst.NewSelectCommand().From("kmgSql_test_table"),
    41  		Url:         "/?n=a",
    42  		ItemPerPage: 2,
    43  		CurrentPage: 1,
    44  	})
    45  	kmgTest.Equal(len(pager.Data), 2)
    46  
    47  	pager = kmgPage.CreateFromSelectCommand(kmgPage.CreateFromSelectCommandRequest{
    48  		Select: MysqlAst.NewSelectCommand().From("kmgSql_test_table"),
    49  		Url:    "/?n=a",
    50  	})
    51  	kmgTest.Equal(len(pager.Data), 4)
    52  }
    53  
    54  func setupDb() {
    55  	kmgSql.MustLoadTestConfig()
    56  }