Skip to content
This repository was archived by the owner on Dec 15, 2020. It is now read-only.

Commit f25877d

Browse files
author
Filip
committed
Small updates
1 parent 64fd6f5 commit f25877d

File tree

5 files changed

+41
-41
lines changed

5 files changed

+41
-41
lines changed

group_memberships/group_memberships.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ package group_memberships
22

33
import (
44
"encoding/json"
5+
"net/http"
6+
"strconv"
7+
58
"github.com/AirHelp/zendesk-mock/mocks"
69
"github.com/AirHelp/zendesk-mock/respond"
710
"github.com/go-martini/martini"
8-
"net/http"
9-
"strconv"
1011
)
1112

1213
func Index(res http.ResponseWriter, req *http.Request, params martini.Params) {
@@ -45,6 +46,6 @@ func respondWithJobStatus(res http.ResponseWriter, code int) {
4546
if bytes, err := json.Marshal(mocks.JobStatus()); err != nil {
4647
respond.Json(res, 500, nil, err)
4748
} else {
48-
respond.Json(res, 200, bytes, nil)
49+
respond.Json(res, code, bytes, nil)
4950
}
5051
}

group_memberships/group_memberships_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,40 @@
11
package group_memberships_test
22

33
import (
4+
"testing"
5+
46
"github.com/AirHelp/zendesk-mock/group_memberships"
57
"github.com/AirHelp/zendesk-mock/test"
6-
"testing"
78
)
89

910
func TestIndex(t *testing.T) {
10-
var response = test.RecordGet(
11+
var response = test.RecordMethod(
1112
"/api/v2/users/:user_id/group_memberships",
1213
"/api/v2/users/1/group_memberships",
1314
"",
15+
test.Get,
1416
group_memberships.Index)
1517

1618
test.IsExpectedToRespondWithCode(t, response, 200)
1719
}
1820

1921
func TestDestroyMany(t *testing.T) {
20-
var response = test.RecordDelete(
22+
var response = test.RecordMethod(
2123
"/api/v2/group_memberships/destroy_many",
2224
"/api/v2/group_memberships/destroy_many?ids=1,2,3",
2325
"",
26+
test.Delete,
2427
group_memberships.DestroyMany)
2528

2629
test.IsExpectedToRespondWithCode(t, response, 200)
2730
}
2831

2932
func TestCreateMany(t *testing.T) {
30-
var response = test.RecordPost(
33+
var response = test.RecordMethod(
3134
"/api/v2/group_memberships/create_many",
3235
"/api/v2/group_memberships/create_many?ids=1,2,3",
3336
"",
37+
test.Post,
3438
group_memberships.CreateMany)
3539

3640
test.IsExpectedToRespondWithCode(t, response, 200)

groups/groups_test.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,30 @@ package groups_test
22

33
import (
44
"encoding/json"
5+
"net/http/httptest"
6+
"testing"
7+
58
"github.com/AirHelp/zendesk-mock/api"
69
"github.com/AirHelp/zendesk-mock/groups"
710
"github.com/AirHelp/zendesk-mock/test"
8-
"net/http/httptest"
9-
"testing"
1011
)
1112

1213
func TestGroupsShow(t *testing.T) {
13-
var response = test.RecordGet("/api/v2/groups/:id", "/api/v2/groups/123", "", groups.Show)
14+
var response = test.RecordMethod("/api/v2/groups/:id", "/api/v2/groups/123", "", test.Get, groups.Show)
1415

1516
test.IsExpectedToRespondWithCode(t, response, 200)
1617
test.IsExpectedToNotBeBlank(t, receivedGroup(response).Name)
1718
}
1819

1920
func TestGroupsCreate(t *testing.T) {
20-
var response = test.RecordPost("/api/v2/groups", "/api/v2/groups", body(), groups.Create)
21+
var response = test.RecordMethod("/api/v2/groups", "/api/v2/groups", body(), test.Post, groups.Create)
2122

2223
test.IsExpectedToRespondWithCode(t, response, 201)
2324
test.IsExpectedToNotBeBlank(t, receivedGroup(response).Name)
2425
}
2526

2627
func TestGroupsUpdate(t *testing.T) {
27-
var response = test.RecordPut("/api/v2/groups/:id", "/api/v2/groups/1", body(), groups.Update)
28+
var response = test.RecordMethod("/api/v2/groups/:id", "/api/v2/groups/1", body(), test.Put, groups.Update)
2829

2930
test.IsExpectedToRespondWithCode(t, response, 200)
3031
test.IsExpectedToNotBeBlank(t, receivedGroup(response).Name)

mocks/mocks.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
package mocks
22

33
import (
4-
"github.com/AirHelp/zendesk-mock/api"
54
"time"
5+
6+
"github.com/AirHelp/zendesk-mock/api"
67
)
78

89
func Id() int {
@@ -16,14 +17,14 @@ func JobStatus() api.JobStatusEnvelope {
1617
Total: 1,
1718
Progress: 0,
1819
Status: "queued"}
19-
return api.JobStatusEnvelope{resource}
20+
return api.JobStatusEnvelope{JobStatus: resource}
2021
}
2122

2223
func GroupMemberships(userId int) api.GroupMembershipsEnvelope {
2324
collection := []api.GroupMembership{
2425
GroupMembership(userId, 0),
2526
GroupMembership(userId, 1)}
26-
return api.GroupMembershipsEnvelope{collection}
27+
return api.GroupMembershipsEnvelope{GroupMemberships: collection}
2728
}
2829

2930
func GroupMembership(userId int, idOffset int) api.GroupMembership {
@@ -35,5 +36,5 @@ func GroupMembership(userId int, idOffset int) api.GroupMembership {
3536
}
3637

3738
func Group(id int, name string) api.GroupEnvelope {
38-
return api.GroupEnvelope{api.Group{Id: id, Name: name}}
39+
return api.GroupEnvelope{Group: api.Group{Id: id, Name: name}}
3940
}

test/test.go

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,33 @@
11
package test
22

33
import (
4-
"github.com/go-martini/martini"
54
"net/http"
65
"net/http/httptest"
76
"strings"
87
"testing"
9-
)
108

11-
type action func(res http.ResponseWriter, req *http.Request, params martini.Params)
12-
13-
func RecordGet(route string, url string, body string, handler action) *httptest.ResponseRecorder {
14-
m := martini.Classic()
15-
m.Get(route, handler)
16-
req, _ := http.NewRequest("GET", url, strings.NewReader(body))
17-
return responseRecorder(m, req)
18-
}
9+
"github.com/go-martini/martini"
10+
)
1911

20-
func RecordPost(route string, url string, body string, handler action) *httptest.ResponseRecorder {
21-
m := martini.Classic()
22-
m.Post(route, handler)
23-
req, _ := http.NewRequest("POST", url, strings.NewReader(body))
24-
return responseRecorder(m, req)
25-
}
12+
const (
13+
Get = "GET"
14+
Post = "POST"
15+
Put = "PUT"
16+
Delete = "DELETE"
17+
)
2618

27-
func RecordPut(route string, url string, body string, handler action) *httptest.ResponseRecorder {
28-
m := martini.Classic()
29-
m.Put(route, handler)
30-
req, _ := http.NewRequest("PUT", url, strings.NewReader(body))
31-
return responseRecorder(m, req)
32-
}
19+
type action func(res http.ResponseWriter, req *http.Request, params martini.Params)
3320

34-
func RecordDelete(route string, url string, body string, handler action) *httptest.ResponseRecorder {
21+
func RecordMethod(route, url, body, method string, handler action) *httptest.ResponseRecorder {
3522
m := martini.Classic()
36-
m.Delete(route, handler)
37-
req, _ := http.NewRequest("DELETE", url, strings.NewReader(body))
23+
methods := map[string]func(string, ...martini.Handler) martini.Route{
24+
Get: m.Get,
25+
Post: m.Post,
26+
Put: m.Put,
27+
Delete: m.Delete,
28+
}
29+
methods[method](route, handler)
30+
req, _ := http.NewRequest(method, url, strings.NewReader(body))
3831
return responseRecorder(m, req)
3932
}
4033

0 commit comments

Comments
 (0)