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 }