github.com/kotovmak/go-admin@v1.1.1/tests/common/menu.go (about) 1 package common 2 3 import ( 4 "fmt" 5 "net/http" 6 7 "github.com/gavv/httpexpect" 8 "github.com/kotovmak/go-admin/modules/config" 9 "github.com/kotovmak/go-admin/modules/language" 10 "github.com/kotovmak/go-admin/plugins/admin/modules/constant" 11 "github.com/kotovmak/go-admin/plugins/admin/modules/form" 12 ) 13 14 func menuTest(e *httpexpect.Expect, sesID *http.Cookie) { 15 16 fmt.Println() 17 printlnWithColor("Menu", "blue") 18 fmt.Println("============================") 19 20 // show 21 22 printlnWithColor("show", "green") 23 formBody := e.GET(config.Url("/menu")). 24 WithCookie(sesID.Name, sesID.Value). 25 Expect(). 26 Status(200). 27 Body().Contains(language.Get("menus manage")) 28 29 token := reg.FindStringSubmatch(formBody.Raw()) 30 31 // new menu tester 32 33 printlnWithColor("new menu test", "green") 34 res := e.POST(config.Url("/menu/new")). 35 WithCookie(sesID.Name, sesID.Value). 36 WithMultipart(). 37 WithFormField("roles[]", "1"). 38 WithForm(map[string]interface{}{ 39 "parent_id": 0, 40 "title": "test menu", 41 "header": "", 42 "icon": "fa-angellist", 43 "uri": "/example/test", 44 form.PreviousKey: "/admin/menu", 45 form.TokenKey: token[1], 46 }).Expect().Status(200) 47 res.Header("X-Pjax-Url").Contains(config.Url("/menu")) 48 res.Body().Contains("test menu").Contains("/example/test") 49 50 // show form: without id 51 52 //printlnWithColor("show form: without id", "green") 53 //e.GET(config.Url("/menu/edit/show")). 54 // WithCookie(sesID.Name, sesID.Value). 55 // Expect().Status(200).Body().Contains(errors.WrongID) 56 57 // show form 58 59 printlnWithColor("show form", "green") 60 formBody = e.GET(config.Url("/menu/edit/show")). 61 WithQuery(constant.EditPKKey, "3"). 62 WithCookie(sesID.Name, sesID.Value). 63 Expect().Status(200).Body() 64 65 token = reg.FindStringSubmatch(formBody.Raw()) 66 67 // edit form 68 69 printlnWithColor("edit form", "green") 70 res = e.POST(config.Url("/menu/edit")). 71 WithCookie(sesID.Name, sesID.Value). 72 WithMultipart(). 73 WithFormField("roles[]", "1"). 74 WithForm(map[string]interface{}{ 75 "parent_id": 0, 76 "title": "test2 menu", 77 "header": "", 78 "icon": "fa-angellist", 79 "uri": "/example/test", 80 form.PreviousKey: "/admin/menu", 81 form.TokenKey: token[1], 82 "id": "3", 83 }).Expect().Status(200) 84 res.Header("X-Pjax-Url").Contains(config.Url("/menu")) 85 res.Body().Contains("test2 menu").Contains("/example/test") 86 87 // new tester2 88 89 printlnWithColor("new tester2", "green") 90 e.POST(config.Url("/menu/new")). 91 WithCookie(sesID.Name, sesID.Value). 92 WithMultipart(). 93 WithFormField("roles[]", "1"). 94 WithForm(map[string]interface{}{ 95 "parent_id": 0, 96 "title": "test2 menu", 97 "header": "", 98 "icon": "fa-angellist", 99 "uri": "/example/test2", 100 form.PreviousKey: "/admin/menu", 101 form.TokenKey: token[1], 102 }).Expect().Status(200) 103 104 // delete tester2 105 106 printlnWithColor("delete menu tester2", "green") 107 e.POST(config.Url("/menu/delete")). 108 WithQuery("id", "9"). 109 WithCookie(sesID.Name, sesID.Value). 110 WithMultipart(). 111 Expect().Status(200).JSON().Object(). 112 ValueEqual("code", 200). 113 ValueEqual("msg", "delete succeed") 114 }