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