Skip to content

Commit 38282a4

Browse files
committed
test: add tests
1 parent 165465c commit 38282a4

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

src/unityChangeset.test.ts

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)