Skip to content

Commit ffe1e13

Browse files
authored
test: use New() to create SUT (#10)
1 parent 06527f8 commit ffe1e13

5 files changed

+136
-43
lines changed

blocks_test.go

+24-8
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func Test_blocksChildrenClient_List(t *testing.T) {
1616
type fields struct {
1717
restClient rest.Interface
1818
mockHTTPHandler http.Handler
19+
authToken string
1920
}
2021

2122
type args struct {
@@ -40,7 +41,12 @@ func Test_blocksChildrenClient_List(t *testing.T) {
4041
name: "List 3 block children in a page",
4142
fields: fields{
4243
restClient: rest.New(),
44+
authToken: "59642182-381f-458b-8144-4cc0750383c1",
4345
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
46+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
47+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
48+
assert.Equal(t, "Bearer 59642182-381f-458b-8144-4cc0750383c1", request.Header.Get("Authorization"))
49+
4450
assert.Equal(t, http.MethodGet, request.Method)
4551
assert.Equal(t, "/v1/blocks/b55c9c91-384d-452b-81db-d1ef79372b75/children?page_size=100", request.RequestURI)
4652

@@ -313,10 +319,12 @@ func Test_blocksChildrenClient_List(t *testing.T) {
313319
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
314320
defer mockHTTPServer.Close()
315321

316-
d := &blocksChildrenClient{
317-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
318-
}
319-
got, err := d.List(tt.args.ctx, tt.args.params)
322+
sut := New(
323+
tt.fields.authToken,
324+
WithBaseURL(mockHTTPServer.URL),
325+
)
326+
327+
got, err := sut.Blocks().Children().List(tt.args.ctx, tt.args.params)
320328
if tt.wants.err != nil {
321329
assert.ErrorIs(t, err, tt.wants.err)
322330
return
@@ -332,6 +340,7 @@ func Test_blocksChildrenClient_Append(t *testing.T) {
332340
type fields struct {
333341
restClient rest.Interface
334342
mockHTTPHandler http.Handler
343+
authToken string
335344
}
336345

337346
type args struct {
@@ -356,7 +365,12 @@ func Test_blocksChildrenClient_Append(t *testing.T) {
356365
name: "Append children successfully",
357366
fields: fields{
358367
restClient: rest.New(),
368+
authToken: "54b85fbe-69c3-4726-88a6-0070bcaea59d",
359369
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
370+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
371+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
372+
assert.Equal(t, "Bearer 54b85fbe-69c3-4726-88a6-0070bcaea59d", request.Header.Get("Authorization"))
373+
360374
assert.Equal(t, http.MethodPatch, request.Method)
361375
assert.Equal(t, "/v1/blocks/9bd15f8d-8082-429b-82db-e6c4ea88413b/children", request.RequestURI)
362376
assert.Equal(t, "application/json", request.Header.Get("Content-Type"))
@@ -518,10 +532,12 @@ func Test_blocksChildrenClient_Append(t *testing.T) {
518532
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
519533
defer mockHTTPServer.Close()
520534

521-
d := &blocksChildrenClient{
522-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
523-
}
524-
got, err := d.Append(tt.args.ctx, tt.args.params)
535+
sut := New(
536+
tt.fields.authToken,
537+
WithBaseURL(mockHTTPServer.URL),
538+
)
539+
540+
got, err := sut.Blocks().Children().Append(tt.args.ctx, tt.args.params)
525541
if tt.wants.err != nil {
526542
assert.ErrorIs(t, err, tt.wants.err)
527543
return

databases_test.go

+36-12
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func Test_databasesClient_List(t *testing.T) {
1616
type fields struct {
1717
restClient rest.Interface
1818
mockHTTPHandler http.Handler
19+
authToken string
1920
}
2021

2122
type args struct {
@@ -40,7 +41,12 @@ func Test_databasesClient_List(t *testing.T) {
4041
name: "List two databases in one page",
4142
fields: fields{
4243
restClient: rest.New(),
44+
authToken: "3e83b541-190b-4450-bfcc-835a7804d5b1",
4345
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
46+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
47+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
48+
assert.Equal(t, "Bearer 3e83b541-190b-4450-bfcc-835a7804d5b1", request.Header.Get("Authorization"))
49+
4450
assert.Equal(t, http.MethodGet, request.Method)
4551
assert.Equal(t, "/v1/databases?page_size=2", request.RequestURI)
4652

@@ -161,10 +167,12 @@ func Test_databasesClient_List(t *testing.T) {
161167
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
162168
defer mockHTTPServer.Close()
163169

164-
d := &databasesClient{
165-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
166-
}
167-
got, err := d.List(tt.args.ctx, tt.args.params)
170+
sut := New(
171+
tt.fields.authToken,
172+
WithBaseURL(mockHTTPServer.URL),
173+
)
174+
175+
got, err := sut.Databases().List(tt.args.ctx, tt.args.params)
168176
if tt.wants.err != nil {
169177
assert.ErrorIs(t, err, tt.wants.err)
170178
return
@@ -180,6 +188,7 @@ func Test_databasesClient_Query(t *testing.T) {
180188
type fields struct {
181189
restClient rest.Interface
182190
mockHTTPHandler http.Handler
191+
authToken string
183192
}
184193

185194
type args struct {
@@ -204,7 +213,12 @@ func Test_databasesClient_Query(t *testing.T) {
204213
name: "Query database with filter and sort",
205214
fields: fields{
206215
restClient: rest.New(),
216+
authToken: "22e5435c-01f7-4d68-ad8c-203948e96b0b",
207217
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
218+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
219+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
220+
assert.Equal(t, "Bearer 22e5435c-01f7-4d68-ad8c-203948e96b0b", request.Header.Get("Authorization"))
221+
208222
assert.Equal(t, http.MethodPost, request.Method)
209223
assert.Equal(t, "/v1/databases/897e5a76ae524b489fdfe71f5945d1af/query", request.RequestURI)
210224

@@ -400,10 +414,12 @@ func Test_databasesClient_Query(t *testing.T) {
400414
t.Run(tt.name, func(t *testing.T) {
401415
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
402416

403-
d := &databasesClient{
404-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
405-
}
406-
got, err := d.Query(tt.args.ctx, tt.args.params)
417+
sut := New(
418+
tt.fields.authToken,
419+
WithBaseURL(mockHTTPServer.URL),
420+
)
421+
422+
got, err := sut.Databases().Query(tt.args.ctx, tt.args.params)
407423
if tt.wants.err != nil {
408424
assert.ErrorIs(t, err, tt.wants.err)
409425
return
@@ -419,6 +435,7 @@ func Test_databasesClient_Retrieve(t *testing.T) {
419435
type fields struct {
420436
restClient rest.Interface
421437
mockHTTPHandler http.Handler
438+
authToken string
422439
}
423440

424441
type args struct {
@@ -443,7 +460,12 @@ func Test_databasesClient_Retrieve(t *testing.T) {
443460
name: "Retrieve database",
444461
fields: fields{
445462
restClient: rest.New(),
463+
authToken: "cf0d2546-ac5c-4d2e-8c39-80dad88a5208",
446464
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
465+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
466+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
467+
assert.Equal(t, "Bearer cf0d2546-ac5c-4d2e-8c39-80dad88a5208", request.Header.Get("Authorization"))
468+
447469
assert.Equal(t, http.MethodGet, request.Method)
448470
assert.Equal(t, "/v1/databases/668d797c-76fa-4934-9b05-ad288df2d136", request.RequestURI)
449471

@@ -797,10 +819,12 @@ func Test_databasesClient_Retrieve(t *testing.T) {
797819
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
798820
defer mockHTTPServer.Close()
799821

800-
d := &databasesClient{
801-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
802-
}
803-
got, err := d.Retrieve(tt.args.ctx, tt.args.params)
822+
sut := New(
823+
tt.fields.authToken,
824+
WithBaseURL(mockHTTPServer.URL),
825+
)
826+
827+
got, err := sut.Databases().Retrieve(tt.args.ctx, tt.args.params)
804828
if tt.wants.err != nil {
805829
assert.ErrorIs(t, err, tt.wants.err)
806830
return

pages_test.go

+36-12
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ func Test_pagesClient_Retrieve(t *testing.T) {
1616
type fields struct {
1717
restClient rest.Interface
1818
mockHTTPHandler http.Handler
19+
authToken string
1920
}
2021

2122
type args struct {
@@ -40,7 +41,12 @@ func Test_pagesClient_Retrieve(t *testing.T) {
4041
name: "Retrieve a page by page_id",
4142
fields: fields{
4243
restClient: rest.New(),
44+
authToken: "6cf01c0d-3b5e-49ec-a45e-43c1879cf41e",
4345
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
46+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
47+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
48+
assert.Equal(t, "Bearer 6cf01c0d-3b5e-49ec-a45e-43c1879cf41e", request.Header.Get("Authorization"))
49+
4450
assert.Equal(t, http.MethodGet, request.Method)
4551
assert.Equal(t, "/v1/pages/b55c9c91-384d-452b-81db-d1ef79372b75", request.RequestURI)
4652

@@ -168,10 +174,12 @@ func Test_pagesClient_Retrieve(t *testing.T) {
168174
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
169175
defer mockHTTPServer.Close()
170176

171-
p := &pagesClient{
172-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
173-
}
174-
got, err := p.Retrieve(tt.args.ctx, tt.args.params)
177+
sut := New(
178+
tt.fields.authToken,
179+
WithBaseURL(mockHTTPServer.URL),
180+
)
181+
182+
got, err := sut.Pages().Retrieve(tt.args.ctx, tt.args.params)
175183
if tt.wants.err != nil {
176184
assert.ErrorIs(t, err, tt.wants.err)
177185
return
@@ -187,6 +195,7 @@ func Test_pagesClient_Create(t *testing.T) {
187195
type fields struct {
188196
restClient rest.Interface
189197
mockHTTPHandler http.Handler
198+
authToken string
190199
}
191200

192201
type args struct {
@@ -211,7 +220,12 @@ func Test_pagesClient_Create(t *testing.T) {
211220
name: "Create a new page",
212221
fields: fields{
213222
restClient: rest.New(),
223+
authToken: "0747d2ee-13f0-47b1-950f-511d2c87180d",
214224
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
225+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
226+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
227+
assert.Equal(t, "Bearer 0747d2ee-13f0-47b1-950f-511d2c87180d", request.Header.Get("Authorization"))
228+
215229
assert.Equal(t, http.MethodPost, request.Method)
216230
assert.Equal(t, "/v1/pages", request.RequestURI)
217231
assert.Equal(t, "application/json", request.Header.Get("Content-Type"))
@@ -538,10 +552,12 @@ func Test_pagesClient_Create(t *testing.T) {
538552
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
539553
defer mockHTTPServer.Close()
540554

541-
p := &pagesClient{
542-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
543-
}
544-
got, err := p.Create(tt.args.ctx, tt.args.params)
555+
sut := New(
556+
tt.fields.authToken,
557+
WithBaseURL(mockHTTPServer.URL),
558+
)
559+
560+
got, err := sut.Pages().Create(tt.args.ctx, tt.args.params)
545561
if tt.wants.err != nil {
546562
assert.ErrorIs(t, err, tt.wants.err)
547563
return
@@ -557,6 +573,7 @@ func Test_pagesClient_Update(t *testing.T) {
557573
type fields struct {
558574
restClient rest.Interface
559575
mockHTTPHandler http.Handler
576+
authToken string
560577
}
561578

562579
type args struct {
@@ -581,7 +598,12 @@ func Test_pagesClient_Update(t *testing.T) {
581598
name: "Update a page properties",
582599
fields: fields{
583600
restClient: rest.New(),
601+
authToken: "4ad4d7a9-8b66-4dda-b9a1-2bc98134ee14",
584602
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
603+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
604+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
605+
assert.Equal(t, "Bearer 4ad4d7a9-8b66-4dda-b9a1-2bc98134ee14", request.Header.Get("Authorization"))
606+
585607
assert.Equal(t, http.MethodPatch, request.Method)
586608
assert.Equal(t, "/v1/pages/60bdc8bd-3880-44b8-a9cd-8a145b3ffbd7", request.RequestURI)
587609
assert.Equal(t, "application/json", request.Header.Get("Content-Type"))
@@ -712,10 +734,12 @@ func Test_pagesClient_Update(t *testing.T) {
712734
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
713735
defer mockHTTPServer.Close()
714736

715-
p := &pagesClient{
716-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
717-
}
718-
got, err := p.Update(tt.args.ctx, tt.args.params)
737+
sut := New(
738+
tt.fields.authToken,
739+
WithBaseURL(mockHTTPServer.URL),
740+
)
741+
742+
got, err := sut.Pages().Update(tt.args.ctx, tt.args.params)
719743
if tt.wants.err != nil {
720744
assert.ErrorIs(t, err, tt.wants.err)
721745
return

search_test.go

+11-3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ func Test_searchClient_Search(t *testing.T) {
1515
type fields struct {
1616
restClient rest.Interface
1717
mockHTTPHandler http.Handler
18+
authToken string
1819
}
1920

2021
type args struct {
@@ -39,7 +40,12 @@ func Test_searchClient_Search(t *testing.T) {
3940
name: "Search two objects in one page",
4041
fields: fields{
4142
restClient: rest.New(),
43+
authToken: "39686a40-3364-4499-8639-185740546d42",
4244
mockHTTPHandler: http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
45+
assert.Equal(t, DefaultNotionVersion, request.Header.Get("Notion-Version"))
46+
assert.Equal(t, DefaultUserAgent, request.Header.Get("User-Agent"))
47+
assert.Equal(t, "Bearer 39686a40-3364-4499-8639-185740546d42", request.Header.Get("Authorization"))
48+
4349
assert.Equal(t, http.MethodPost, request.Method)
4450
assert.Equal(t, "/v1/search?page_size=2", request.RequestURI)
4551

@@ -251,10 +257,12 @@ func Test_searchClient_Search(t *testing.T) {
251257
for _, tt := range tests {
252258
t.Run(tt.name, func(t *testing.T) {
253259
mockHTTPServer := httptest.NewServer(tt.fields.mockHTTPHandler)
260+
defer mockHTTPServer.Close()
254261

255-
sut := &searchClient{
256-
restClient: tt.fields.restClient.BaseURL(mockHTTPServer.URL),
257-
}
262+
sut := New(
263+
tt.fields.authToken,
264+
WithBaseURL(mockHTTPServer.URL),
265+
)
258266

259267
got, err := sut.Search(tt.args.ctx, tt.args.params)
260268
if tt.wants.err != nil {

0 commit comments

Comments
 (0)