Skip to content

Commit d8701e6

Browse files
committed
test(server/fetch_test): add test for failing on a bad id
1 parent 7053205 commit d8701e6

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

internal/server/fetch_test.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"encoding/json"
2121
"io"
2222
"net/http"
23+
"testing"
2324
"time"
2425

2526
"github.com/lukewhrit/spacebin/internal/database"
@@ -81,7 +82,7 @@ func (s *FetchDocumentSuite) TestFetchRawDocument() {
8182
res := executeRequest(req, s.srv)
8283

8384
require.Equal(s.T(), http.StatusOK, res.Result().StatusCode)
84-
require.Equal(s.T(), "text/plain; charset=utf-8", res.Result().Header.Get("Content-Type"))
85+
require.Equal(s.T(), "text/plain", res.Result().Header.Get("Content-Type"))
8586
require.Equal(s.T(), "test", res.Body.String())
8687
}
8788

@@ -98,3 +99,22 @@ func (s *FetchDocumentSuite) TestFetchNotFoundDocument() {
9899

99100
require.Equal(s.T(), "sql: no rows in result set", body.Error)
100101
}
102+
103+
// TestFetchBadIDDocument tests fetching a document with an invalid ID
104+
func (s *FetchDocumentSuite) TestFetchBadIDDocument() {
105+
req, _ := http.NewRequest(http.MethodGet, "/api/1234", nil)
106+
res := executeRequest(req, s.srv)
107+
108+
require.Equal(s.T(), http.StatusBadRequest, res.Result().StatusCode)
109+
require.Equal(s.T(), "application/json", res.Result().Header.Get("Content-Type"))
110+
111+
x, _ := io.ReadAll(res.Result().Body)
112+
var body DocumentResponse
113+
json.Unmarshal(x, &body)
114+
115+
require.Equal(s.T(), "id is of length 4, should be 8", body.Error)
116+
}
117+
118+
func TestFetchDocumentSuite(t *testing.T) {
119+
suite.Run(t, new(FetchDocumentSuite))
120+
}

0 commit comments

Comments
 (0)