@@ -11,29 +11,34 @@ func TestServer_UnmarshalJSON(t *testing.T) {
1111 t .Parallel ()
1212
1313 tests := []struct {
14- name string
15- input string
16- expected string
14+ name string
15+ input string
16+ expectedID string
17+ expectedName string
1718 }{
1819 {
19- name : "Normalize mixed case name" ,
20- input : `{"name": "GitHub-Server", "description": "Test server"}` ,
21- expected : "github-server" ,
20+ name : "Normalize mixed case ID, keep original name" ,
21+ input : `{"id": "GitHub-Server", "name": "GitHub Server", "description": "Test server"}` ,
22+ expectedID : "github-server" ,
23+ expectedName : "GitHub Server" ,
2224 },
2325 {
24- name : "Normalize uppercase name" ,
25- input : `{"name": "TIME_SERVER", "description": "Test server"}` ,
26- expected : "time_server" ,
26+ name : "Normalize uppercase ID, keep original name" ,
27+ input : `{"id": "TIME_SERVER", "name": "Time Server", "description": "Test server"}` ,
28+ expectedID : "time_server" ,
29+ expectedName : "Time Server" ,
2730 },
2831 {
29- name : "Normalize name with spaces" ,
30- input : `{"name": " Mixed Case Server ", "description": "Test server"}` ,
31- expected : "mixed case server" ,
32+ name : "Normalize ID with spaces, keep original name" ,
33+ input : `{"id": " Mixed Case Server ", "name": "Mixed Case Server", "description": "Test server"}` ,
34+ expectedID : "mixed case server" ,
35+ expectedName : "Mixed Case Server" ,
3236 },
3337 {
34- name : "Already normalized name unchanged" ,
35- input : `{"name": "simple-server", "description": "Test server"}` ,
36- expected : "simple-server" ,
38+ name : "Already normalized ID unchanged, keep original name" ,
39+ input : `{"id": "simple-server", "name": "Simple Server", "description": "Test server"}` ,
40+ expectedID : "simple-server" ,
41+ expectedName : "Simple Server" ,
3742 },
3843 }
3944
@@ -44,7 +49,8 @@ func TestServer_UnmarshalJSON(t *testing.T) {
4449 var server Server
4550 err := json .Unmarshal ([]byte (tc .input ), & server )
4651 require .NoError (t , err )
47- require .Equal (t , tc .expected , server .Name )
52+ require .Equal (t , tc .expectedID , server .ID )
53+ require .Equal (t , tc .expectedName , server .Name )
4854 require .Equal (t , "Test server" , server .Description )
4955 })
5056 }
0 commit comments