package web

import (
	"testing"

	"github.com/valyala/fasthttp"

	"tiup-log-collector/testutils"
)

func TestRenderMsg(t *testing.T) {
	t.Run("should render simple resp as json", func(t *testing.T) {
		req := testutils.NewMockRequest("", "")

		res := testutils.AssertMockServe(t, req, func(ctx *fasthttp.RequestCtx) {
			renderMsg(ctx, 200, "hi")
		})
		testutils.AssertResponse(t, res, 200, `{"detail":"hi"}`)
	})

	t.Run("should escape '\"'", func(t *testing.T) {
		req := testutils.NewMockRequest("", "")

		res := testutils.AssertMockServe(t, req, func(ctx *fasthttp.RequestCtx) {
			renderMsg(ctx, 200, `"`)
		})

		testutils.AssertResponse(t, res, 200, `{"detail":"\""}`)
	})
}
