chore: add prettier config (#633)

Signed-off-by: Rui Chen <rui@chenrui.dev>
This commit is contained in:
Rui Chen 2025-06-11 11:34:43 -04:00 committed by GitHub
parent 605f567f95
commit c8d8e91662
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 273 additions and 355 deletions

View file

@ -1,62 +1,56 @@
import {
asset,
findTagFromReleases,
mimeOrDefault,
Release,
Releaser,
} from "../src/github";
import { asset, findTagFromReleases, mimeOrDefault, Release, Releaser } from '../src/github';
import { assert, describe, it } from "vitest";
import { assert, describe, it } from 'vitest';
describe("github", () => {
describe("mimeOrDefault", () => {
it("returns a specific mime for common path", async () => {
assert.equal(mimeOrDefault("foo.tar.gz"), "application/gzip");
describe('github', () => {
describe('mimeOrDefault', () => {
it('returns a specific mime for common path', async () => {
assert.equal(mimeOrDefault('foo.tar.gz'), 'application/gzip');
});
it("returns default mime for uncommon path", async () => {
assert.equal(mimeOrDefault("foo.uncommon"), "application/octet-stream");
it('returns default mime for uncommon path', async () => {
assert.equal(mimeOrDefault('foo.uncommon'), 'application/octet-stream');
});
});
describe("asset", () => {
it("derives asset info from a path", async () => {
const { name, mime, size } = asset("tests/data/foo/bar.txt");
assert.equal(name, "bar.txt");
assert.equal(mime, "text/plain");
describe('asset', () => {
it('derives asset info from a path', async () => {
const { name, mime, size } = asset('tests/data/foo/bar.txt');
assert.equal(name, 'bar.txt');
assert.equal(mime, 'text/plain');
assert.equal(size, 10);
});
});
describe("findTagFromReleases", () => {
const owner = "owner";
const repo = "repo";
describe('findTagFromReleases', () => {
const owner = 'owner';
const repo = 'repo';
const mockRelease: Release = {
id: 1,
upload_url: `https://api.github.com/repos/${owner}/${repo}/releases/1/assets`,
html_url: `https://github.com/${owner}/${repo}/releases/tag/v1.0.0`,
tag_name: "v1.0.0",
name: "Test Release",
body: "Test body",
target_commitish: "main",
tag_name: 'v1.0.0',
name: 'Test Release',
body: 'Test body',
target_commitish: 'main',
draft: false,
prerelease: false,
assets: [],
} as const;
const mockReleaser: Releaser = {
getReleaseByTag: () => Promise.reject("Not implemented"),
createRelease: () => Promise.reject("Not implemented"),
updateRelease: () => Promise.reject("Not implemented"),
getReleaseByTag: () => Promise.reject('Not implemented'),
createRelease: () => Promise.reject('Not implemented'),
updateRelease: () => Promise.reject('Not implemented'),
allReleases: async function* () {
yield { data: [mockRelease] };
},
} as const;
describe("when the tag_name is not an empty string", () => {
const targetTag = "v1.0.0";
describe('when the tag_name is not an empty string', () => {
const targetTag = 'v1.0.0';
it("finds a matching release in first batch of results", async () => {
it('finds a matching release in first batch of results', async () => {
const targetRelease = {
...mockRelease,
owner,
@ -67,7 +61,7 @@ describe("github", () => {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
@ -78,17 +72,12 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
targetTag,
);
const result = await findTagFromReleases(releaser, owner, repo, targetTag);
assert.deepStrictEqual(result, targetRelease);
});
it("finds a matching release in second batch of results", async () => {
it('finds a matching release in second batch of results', async () => {
const targetRelease = {
...mockRelease,
owner,
@ -99,7 +88,7 @@ describe("github", () => {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
@ -110,21 +99,16 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
targetTag,
);
const result = await findTagFromReleases(releaser, owner, repo, targetTag);
assert.deepStrictEqual(result, targetRelease);
});
it("returns undefined when a release is not found in any batch", async () => {
it('returns undefined when a release is not found in any batch', async () => {
const otherRelease = {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
...mockReleaser,
@ -134,17 +118,12 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
targetTag,
);
const result = await findTagFromReleases(releaser, owner, repo, targetTag);
assert.strictEqual(result, undefined);
});
it("returns undefined when no releases are returned", async () => {
it('returns undefined when no releases are returned', async () => {
const releaser = {
...mockReleaser,
allReleases: async function* () {
@ -152,21 +131,16 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
targetTag,
);
const result = await findTagFromReleases(releaser, owner, repo, targetTag);
assert.strictEqual(result, undefined);
});
});
describe("when the tag_name is an empty string", () => {
const emptyTag = "";
describe('when the tag_name is an empty string', () => {
const emptyTag = '';
it("finds a matching release in first batch of results", async () => {
it('finds a matching release in first batch of results', async () => {
const targetRelease = {
...mockRelease,
owner,
@ -177,7 +151,7 @@ describe("github", () => {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
@ -188,17 +162,12 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
emptyTag,
);
const result = await findTagFromReleases(releaser, owner, repo, emptyTag);
assert.deepStrictEqual(result, targetRelease);
});
it("finds a matching release in second batch of results", async () => {
it('finds a matching release in second batch of results', async () => {
const targetRelease = {
...mockRelease,
owner,
@ -209,7 +178,7 @@ describe("github", () => {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
@ -220,21 +189,16 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
emptyTag,
);
const result = await findTagFromReleases(releaser, owner, repo, emptyTag);
assert.deepStrictEqual(result, targetRelease);
});
it("returns undefined when a release is not found in any batch", async () => {
it('returns undefined when a release is not found in any batch', async () => {
const otherRelease = {
...mockRelease,
owner,
repo,
tag_name: "v1.0.1",
tag_name: 'v1.0.1',
};
const releaser = {
...mockReleaser,
@ -244,17 +208,12 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
emptyTag,
);
const result = await findTagFromReleases(releaser, owner, repo, emptyTag);
assert.strictEqual(result, undefined);
});
it("returns undefined when no releases are returned", async () => {
it('returns undefined when no releases are returned', async () => {
const releaser = {
...mockReleaser,
allReleases: async function* () {
@ -262,12 +221,7 @@ describe("github", () => {
},
};
const result = await findTagFromReleases(
releaser,
owner,
repo,
emptyTag,
);
const result = await findTagFromReleases(releaser, owner, repo, emptyTag);
assert.strictEqual(result, undefined);
});