@@ -38,6 +38,19 @@ class ResponseTest < ActiveSupport::TestCase
3838 refute response . error?
3939 end
4040
41+ test "#initialize with content and structuredContent" do
42+ content = [ {
43+ type : "text" ,
44+ text : "{\" code\" :401,\" message\" :\" Unauthorized\" }" ,
45+ } ]
46+ structured_content = { code : 401 , message : "Unauthorized" }
47+ response = Response . new ( content , structured_content : structured_content )
48+
49+ assert_equal content , response . content
50+ assert_equal structured_content , response . structured_content
51+ refute response . error?
52+ end
53+
4154 test "#error? for a standard response" do
4255 response = Response . new ( nil , error : false )
4356 refute response . error?
@@ -72,6 +85,32 @@ class ResponseTest < ActiveSupport::TestCase
7285 assert_equal content , actual [ :content ]
7386 assert actual [ :isError ]
7487 end
88+
89+ test "#to_h for a standard response with content and structured content" do
90+ content = [ {
91+ type : "text" ,
92+ text : "{\" code\" :401,\" message\" :\" Unauthorized\" }" ,
93+ } ]
94+ structured_content = { code : 401 , message : "Unauthorized" }
95+ response = Response . new ( content , structured_content : structured_content )
96+ actual = response . to_h
97+
98+ assert_equal [ :content , :isError , :structuredContent ] . sort , actual . keys . sort
99+ assert_equal content , actual [ :content ]
100+ assert_equal structured_content , actual [ :structuredContent ]
101+ refute actual [ :isError ]
102+ end
103+
104+ test "#to_h for a standard response with structured content only" do
105+ structured_content = { code : 401 , message : "Unauthorized" }
106+ response = Response . new ( structured_content : structured_content )
107+ actual = response . to_h
108+
109+ assert_equal [ :content , :isError , :structuredContent ] . sort , actual . keys . sort
110+ assert_equal [ { type : "text" , text : structured_content . to_json } ] , actual [ :content ]
111+ assert_equal structured_content , actual [ :structuredContent ]
112+ refute actual [ :isError ]
113+ end
75114 end
76115 end
77116end
0 commit comments