github.com/kotovmak/go-admin@v1.1.1/tests/common/role.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/plugins/admin/modules/constant" 10 "github.com/kotovmak/go-admin/plugins/admin/modules/form" 11 ) 12 13 func roleTest(e *httpexpect.Expect, sesID *http.Cookie) { 14 15 fmt.Println() 16 printlnWithColor("Role", "blue") 17 fmt.Println("============================") 18 19 // show 20 21 printlnWithColor("show", "green") 22 e.GET(config.Url("/info/roles")). 23 WithCookie(sesID.Name, sesID.Value). 24 Expect(). 25 Status(200). 26 Body().Contains("Administrator").Contains("Operator") 27 28 // show new form 29 30 printlnWithColor("show new form", "green") 31 formBody := e.GET(config.Url("/info/roles/new")). 32 WithCookie(sesID.Name, sesID.Value). 33 Expect().Status(200).Body() 34 35 token := reg.FindStringSubmatch(formBody.Raw()) 36 37 // new roles tester 38 39 printlnWithColor("new roles test", "green") 40 res := e.POST(config.Url("/new/roles")). 41 WithCookie(sesID.Name, sesID.Value). 42 WithMultipart(). 43 WithFormField("permission_id[]", "3"). 44 WithForm(map[string]interface{}{ 45 "name": "tester", 46 "slug": "tester", 47 form.PreviousKey: config.Url("/info/roles?__page=1&__pageSize=10&__sort=id&__sort_type=desc"), 48 form.TokenKey: token[1], 49 }).Expect().Status(200) 50 res.Header("X-Pjax-Url").Contains(config.Url("/info/")) 51 res.Body().Contains("tester") 52 53 // show form: without id 54 55 //printlnWithColor("show form: without id", "green") 56 //e.GET(config.Url("/info/roles/edit")). 57 // WithCookie(sesID.Name, sesID.Value). 58 // Expect().Status(200).Body().Contains(errors.WrongID) 59 60 // show form 61 62 printlnWithColor("show form", "green") 63 formBody = e.GET(config.Url("/info/roles/edit")). 64 WithQuery(constant.EditPKKey, "3"). 65 WithCookie(sesID.Name, sesID.Value). 66 Expect().Status(200).Body() 67 68 token = reg.FindStringSubmatch(formBody.Raw()) 69 70 // edit form 71 72 printlnWithColor("edit form", "green") 73 res = e.POST(config.Url("/edit/roles")). 74 WithCookie(sesID.Name, sesID.Value). 75 WithMultipart(). 76 WithFormField("permission_id[]", "3"). 77 WithFormField("permission_id[]", "2"). 78 WithForm(map[string]interface{}{ 79 "name": "tester", 80 "slug": "tester", 81 form.PreviousKey: config.Url("/info/roles?__page=1&__pageSize=10&__sort=id&__sort_type=desc"), 82 form.TokenKey: token[1], 83 "id": "3", 84 }).Expect().Status(200) 85 res.Header("X-Pjax-Url").Contains(config.Url("/info/")) 86 res.Body().Contains("tester") 87 88 // show new form 89 90 printlnWithColor("show new form", "green") 91 formBody = e.GET(config.Url("/info/roles/new")). 92 WithCookie(sesID.Name, sesID.Value). 93 Expect().Status(200).Body() 94 95 token = reg.FindStringSubmatch(formBody.Raw()) 96 97 // new tester2 98 99 printlnWithColor("new tester2", "green") 100 e.POST(config.Url("/new/roles")). 101 WithCookie(sesID.Name, sesID.Value). 102 WithMultipart(). 103 WithFormField("permission_id[]", "3"). 104 WithForm(map[string]interface{}{ 105 "name": "tester2", 106 "slug": "tester2", 107 form.PreviousKey: config.Url("/info/roles?__page=1&__pageSize=10&__sort=id&__sort_type=desc"), 108 form.TokenKey: token[1], 109 }).Expect().Status(200) 110 111 // delete tester2 112 113 printlnWithColor("delete roles tester2", "green") 114 e.POST(config.Url("/delete/roles")). 115 WithCookie(sesID.Name, sesID.Value). 116 WithMultipart(). 117 WithFormField("id", "3"). 118 Expect().Status(200).JSON().Object(). 119 ValueEqual("code", 200). 120 ValueEqual("msg", "ok") 121 }