Api refactor, return object for getAllReleases

Signed-off-by: Erik Engervall <erik.engervall@gmail.com>
This commit is contained in:
Erik Engervall
2021-04-30 14:23:23 +02:00
parent de28d4e07c
commit 1bc64e1107
4 changed files with 26 additions and 22 deletions
@@ -478,13 +478,15 @@ export class GitReleaseApiClient implements GitReleaseApi {
...DISABLE_CACHE,
});
return releases.map(release => ({
id: release.id,
name: release.name,
tagName: release.tag_name,
createdAt: release.published_at,
htmlUrl: release.html_url,
}));
return {
releases: releases.map(release => ({
id: release.id,
name: release.name,
tagName: release.tag_name,
createdAt: release.published_at,
htmlUrl: release.html_url,
})),
};
};
getSingleTag: GitReleaseApi['getSingleTag'] = async ({
@@ -740,15 +742,15 @@ export interface GitReleaseApi {
getAllReleases: (
args: OwnerRepo,
) => Promise<
Array<{
) => Promise<{
releases: Array<{
id: number;
name: string | null;
tagName: string;
createdAt: string | null;
htmlUrl: string;
}>
>;
}>;
}>;
getSingleTag: (
args: {
@@ -24,7 +24,7 @@ export function getMappedReleases({
allReleases,
project,
}: {
allReleases: GetAllReleasesResult;
allReleases: GetAllReleasesResult['releases'];
project: Project;
}) {
return {
@@ -25,7 +25,7 @@ export const useGetStats = () => {
const { project } = useProjectContext();
const stats = useAsync(async () => {
const [allReleases, { tags: allTags }] = await Promise.all([
const [{ releases: allReleases }, { tags: allTags }] = await Promise.all([
pluginApiClient.getAllReleases({
owner: project.owner,
repo: project.repo,
@@ -303,15 +303,17 @@ export const mockApiClient: GitReleaseApi = {
],
})),
getAllReleases: jest.fn(async () => [
{
id: 1,
name: 'mock_release_name',
tagName: 'mock_release_tag_name',
createdAt: 'mock_release_published_at',
htmlUrl: 'mock_release_html_url',
},
]),
getAllReleases: jest.fn(async () => ({
releases: [
{
id: 1,
name: 'mock_release_name',
tagName: 'mock_release_tag_name',
createdAt: 'mock_release_published_at',
htmlUrl: 'mock_release_html_url',
},
],
})),
getSingleTag: jest.fn(async () => ({
date: '2021-04-29T12:48:30.120Z',