File tree Expand file tree Collapse file tree 3 files changed +61
-2
lines changed
ychat/src/commonTest/kotlin Expand file tree Collapse file tree 3 files changed +61
-2
lines changed Original file line number Diff line number Diff line change @@ -58,4 +58,39 @@ class AudioUseCaseTest {
5858 // assert
5959 assertEquals(true , result.exceptionOrNull() is ChatGptException )
6060 }
61+
62+ @Test
63+ fun `on requestAudioTranslations when request succeed then should return formatted result` () {
64+ // arrange
65+ val fileName = " audio-test.m4a"
66+ val audioFile = ByteArray (1024 ) as FileBytes
67+ val audioParams = AudioParams ()
68+ val audioResultDto = AudioResultDto (" this is a test." )
69+ val apiResult = ApiResult (body = audioResultDto)
70+ coEvery { chatGptApiMock.audioTranslations(any()) } returns apiResult
71+
72+ // act
73+ val result = runBlocking { useCase.requestAudioTranslations(fileName, audioFile, audioParams) }
74+
75+ // assert
76+ assertEquals(" this is a test." , result)
77+ }
78+
79+ @Test
80+ fun `on requestAudioTranslations when not request succeed then should throw an exception` () {
81+ // arrange
82+ val fileName = " audio-test.m4a"
83+ val audioFile = ByteArray (1024 ) as FileBytes
84+ val audioParams = AudioParams ()
85+ val apiResult = ApiResult <AudioResultDto >(exception = ChatGptException ())
86+ coEvery { chatGptApiMock.audioTranslations(any()) } returns apiResult
87+
88+ // act
89+ val result = runCatching {
90+ runBlocking { useCase.requestAudioTranslations(fileName, audioFile, audioParams) }
91+ }
92+
93+ // assert
94+ assertEquals(true , result.exceptionOrNull() is ChatGptException )
95+ }
6196}
Original file line number Diff line number Diff line change @@ -149,13 +149,37 @@ class YChatTest {
149149 // arrange
150150 val expectedResult = " This is a test."
151151 val imageGenerationsSuccessResult =
152- MockStorage .audioTranscriptionsSuccessResult (expectedResult)
152+ MockStorage .audioSuccessResult (expectedResult)
153153 val audioFile = ByteArray (1024 ) as FileBytes
154154 mockHttpEngine(imageGenerationsSuccessResult)
155155
156156 // act
157157 val result = runBlocking {
158158 yChat.audioTranscriptions()
159+ .setTemperature(0.0 )
160+ .setModel(" model-1" )
161+ .setPrompt(" Test" )
162+ .setResponseFormat(" json" )
163+ .setLanguage(" en" )
164+ .execute(" file.mp4" , audioFile)
165+ }
166+
167+ // assert
168+ assertEquals(expectedResult, result)
169+ }
170+
171+ @Test
172+ fun `on audioTranslations execute method should return result successfully` () {
173+ // arrange
174+ val expectedResult = " This is a test."
175+ val imageGenerationsSuccessResult =
176+ MockStorage .audioSuccessResult(expectedResult)
177+ val audioFile = ByteArray (1024 ) as FileBytes
178+ mockHttpEngine(imageGenerationsSuccessResult)
179+
180+ // act
181+ val result = runBlocking {
182+ yChat.audioTranslations()
159183 .setTemperature(0.0 )
160184 .setModel(" model-1" )
161185 .setPrompt(" Test" )
Original file line number Diff line number Diff line change @@ -136,7 +136,7 @@ object MockStorage {
136136 }
137137 """
138138
139- fun audioTranscriptionsSuccessResult (text : String ) = """
139+ fun audioSuccessResult (text : String ) = """
140140 {
141141 "text": "$text "
142142 }
You can’t perform that action at this time.
0 commit comments