summaryrefslogtreecommitdiff
path: root/pkg/test/test.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/test/test.go')
-rw-r--r--pkg/test/test.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/test/test.go b/pkg/test/test.go
index a93759e..54712f1 100644
--- a/pkg/test/test.go
+++ b/pkg/test/test.go
@@ -1,12 +1,14 @@
package test
import (
+ "bytes"
"context"
"io"
"net/http"
"net/http/httptest"
"github.com/xlgmokha/x/pkg/serde"
+ "github.com/xlgmokha/x/pkg/x"
)
type RequestOption func(*http.Request) *http.Request
@@ -34,6 +36,12 @@ func WithRequestHeader(key, value string) RequestOption {
}
}
+func WithContentType[T any](item T, mediaType serde.MediaType) RequestOption {
+ body := bytes.NewBuffer(nil)
+ x.Check(serde.To[T](body, item, mediaType))
+ return WithRequestBody(io.NopCloser(body))
+}
+
func WithRequestBody(body io.ReadCloser) RequestOption {
return func(r *http.Request) *http.Request {
r.Body = body