@@ -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