fix: setting details (#1175)

This commit is contained in:
Jonas Plum
2025-12-23 07:10:40 +01:00
committed by GitHub
parent 5f37e8a7d3
commit f0a53d56a2
2 changed files with 29 additions and 2 deletions

View File

@@ -1881,7 +1881,7 @@ func marshal(state map[string]any) json.RawMessage {
func marshalPointer(state *map[string]any) json.RawMessage { func marshalPointer(state *map[string]any) json.RawMessage {
if state == nil { if state == nil {
return json.RawMessage("{}") return nil
} }
b, _ := json.Marshal(*state) //nolint:errchkjson b, _ := json.Marshal(*state) //nolint:errchkjson

View File

@@ -68,7 +68,7 @@ func Test_marshalPointer(t *testing.T) {
m := map[string]any{"x": 1} m := map[string]any{"x": 1}
assert.JSONEq(t, `{"x":1}`, string(marshalPointer(&m))) assert.JSONEq(t, `{"x":1}`, string(marshalPointer(&m)))
assert.JSONEq(t, "{}", string(marshalPointer(nil))) assert.Nil(t, marshalPointer(nil))
} }
func Test_generateID(t *testing.T) { func Test_generateID(t *testing.T) {
@@ -130,3 +130,30 @@ func TestService_DownloadFile_Errors(t *testing.T) {
_, err = s.DownloadFile(t.Context(), openapi.DownloadFileRequestObject{Id: "f_invalid_base64"}) _, err = s.DownloadFile(t.Context(), openapi.DownloadFileRequestObject{Id: "f_invalid_base64"})
require.Error(t, err) require.Error(t, err)
} }
func TestService_UpdateTicket_PreservesStateOnNil(t *testing.T) {
t.Parallel()
s := newTestService(t)
before, err := s.queries.Ticket(t.Context(), "test-ticket")
require.NoError(t, err)
open := false
resp, err := s.UpdateTicket(t.Context(), openapi.UpdateTicketRequestObject{
Id: "test-ticket",
Body: &openapi.TicketUpdate{
Open: &open,
},
})
require.NoError(t, err)
updated, ok := resp.(openapi.UpdateTicket200JSONResponse)
require.True(t, ok)
assert.Equal(t, unmarshal(before.State), updated.State)
after, err := s.queries.Ticket(t.Context(), "test-ticket")
require.NoError(t, err)
assert.Equal(t, before.State, after.State)
}