@@ -12,6 +12,7 @@ import {
1212 listChangesets ,
1313 searchChangesets ,
1414 searchChangesetsFromDb ,
15+ getAllChangesetsFromDb ,
1516 GroupMode ,
1617 OutputMode ,
1718 FormatMode ,
@@ -249,3 +250,61 @@ Deno.test("groupBy", () => {
249250 B : [ { id : 2 , category : "B" } ] ,
250251 } ) ;
251252} ) ;
253+
254+
255+ // Tests for getUnityChangeset with db option
256+ [
257+ { version : "2018.3.0f1" , expected : "f023c421e164" } ,
258+ { version : "2018.3.0f2" , expected : "6e9a27477296" } ,
259+ { version : "2018.3.0f3" , expected : undefined } , // Not existing version
260+ // { version: "2019.1.0a9", expected: "0acd256790e8" }, // Alpha (Too old)
261+ // { version: "2019.1.0b1", expected: "83b3ba1f99df" }, // Beta (Too old)
262+ { version : "6000.1.0f1" , expected : "9ea152932a88" } , // Supported
263+ { version : "2022.3.67f2" , expected : "6bedba8691df" } , // XLTS
264+ ] . forEach ( ( testcase ) => {
265+ Deno . test ( `getUnityChangeset with db=true should return same as without db (${ testcase . version } )` , async ( ) => {
266+ const version = testcase . version ;
267+
268+ if ( testcase . expected ) {
269+ const changesetWithoutDb = await getUnityChangeset ( version ) ;
270+ const changesetWithDb = await getUnityChangeset ( version , true ) ;
271+ assertEquals ( changesetWithoutDb . version , changesetWithDb . version ) ;
272+ assertEquals ( changesetWithoutDb . changeset , changesetWithDb . changeset ) ;
273+ }
274+ else {
275+ await assertRejects ( ( ) => getUnityChangeset ( testcase . version ) ) ;
276+ await assertRejects ( ( ) => getUnityChangeset ( testcase . version , true ) ) ;
277+ }
278+ } ) ;
279+ } ) ;
280+
281+ Deno . test ( "getAllChangesetsFromDb with valid URL" , async ( ) => {
282+ const changesets = await getAllChangesetsFromDb ( ) ;
283+ assertNotEquals ( changesets . length , 0 ) ;
284+ assertEquals ( changesets . every ( c => c instanceof UnityChangeset ) , true ) ;
285+ } ) ;
286+
287+ Deno . test ( "getAllChangesetsFromDb with invalid URL should reject" , async ( ) => {
288+ const invalidUrl = "https://mob-sakai.github.io/unity-changeset/INVALID_DB" ;
289+ await assertRejects ( ( ) => getAllChangesetsFromDb ( invalidUrl ) ) ;
290+ } ) ;
291+
292+ Deno . test ( "getUnityChangeset with custom db URL" , async ( ) => {
293+ const version = "2018.3.0f1" ;
294+ const changeset = await getUnityChangeset ( version ) ;
295+ assertEquals ( changeset . version , version ) ;
296+ assertNotEquals ( changeset . changeset , "" ) ;
297+ } ) ;
298+
299+ Deno . test ( "searchChangesets with custom db URL" , async ( ) => {
300+ const changesets = await searchChangesets ( SearchMode . Default ) ;
301+ assertNotEquals ( changesets . length , 0 ) ;
302+ assertEquals ( changesets . every ( c => c instanceof UnityChangeset ) , true ) ;
303+ } ) ;
304+
305+ Deno . test ( "searchChangesetsFromDb" , async ( ) => {
306+ const streams = searchModeToStreams ( SearchMode . Default ) ;
307+ const changesets = await searchChangesetsFromDb ( streams ) ;
308+ assertNotEquals ( changesets . length , 0 ) ;
309+ assertEquals ( changesets . every ( c => c . stream === UnityReleaseStream . LTS || c . stream === UnityReleaseStream . SUPPORTED || c . stream === UnityReleaseStream . TECH ) , true ) ;
310+ } ) ;
0 commit comments