team_test.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package api
  2. import (
  3. "testing"
  4. "github.com/grafana/grafana/pkg/bus"
  5. "github.com/grafana/grafana/pkg/components/simplejson"
  6. "github.com/grafana/grafana/pkg/models"
  7. . "github.com/smartystreets/goconvey/convey"
  8. )
  9. func TestTeamApiEndpoint(t *testing.T) {
  10. Convey("Given two teams", t, func() {
  11. mockResult := models.SearchTeamQueryResult{
  12. Teams: []*models.SearchTeamDto{
  13. {Name: "team1"},
  14. {Name: "team2"},
  15. },
  16. TotalCount: 2,
  17. }
  18. Convey("When searching with no parameters", func() {
  19. loggedInUserScenario("When calling GET on", "/api/teams/search", func(sc *scenarioContext) {
  20. var sentLimit int
  21. var sendPage int
  22. bus.AddHandler("test", func(query *models.SearchTeamsQuery) error {
  23. query.Result = mockResult
  24. sentLimit = query.Limit
  25. sendPage = query.Page
  26. return nil
  27. })
  28. sc.handlerFunc = SearchTeams
  29. sc.fakeReqWithParams("GET", sc.url, map[string]string{}).exec()
  30. So(sentLimit, ShouldEqual, 1000)
  31. So(sendPage, ShouldEqual, 1)
  32. respJSON, err := simplejson.NewJson(sc.resp.Body.Bytes())
  33. So(err, ShouldBeNil)
  34. So(respJSON.Get("totalCount").MustInt(), ShouldEqual, 2)
  35. So(len(respJSON.Get("teams").MustArray()), ShouldEqual, 2)
  36. })
  37. })
  38. Convey("When searching with page and perpage parameters", func() {
  39. loggedInUserScenario("When calling GET on", "/api/teams/search", func(sc *scenarioContext) {
  40. var sentLimit int
  41. var sendPage int
  42. bus.AddHandler("test", func(query *models.SearchTeamsQuery) error {
  43. query.Result = mockResult
  44. sentLimit = query.Limit
  45. sendPage = query.Page
  46. return nil
  47. })
  48. sc.handlerFunc = SearchTeams
  49. sc.fakeReqWithParams("GET", sc.url, map[string]string{"perpage": "10", "page": "2"}).exec()
  50. So(sentLimit, ShouldEqual, 10)
  51. So(sendPage, ShouldEqual, 2)
  52. })
  53. })
  54. })
  55. }