Api refactor, return object for getSingleTag

Signed-off-by: Erik Engervall <erik.engervall@gmail.com>
This commit is contained in:
Erik Engervall
2021-04-30 14:27:40 +02:00
parent 1bc64e1107
commit 3c47406ab8
3 changed files with 26 additions and 17 deletions
@@ -502,10 +502,12 @@ export class GitReleaseApiClient implements GitReleaseApi {
});
return {
date: singleTag.data.tagger.date,
username: singleTag.data.tagger.name,
userEmail: singleTag.data.tagger.email,
objectSha: singleTag.data.object.sha,
tag: {
date: singleTag.data.tagger.date,
username: singleTag.data.tagger.name,
userEmail: singleTag.data.tagger.email,
objectSha: singleTag.data.object.sha,
},
};
};
}
@@ -757,10 +759,12 @@ export interface GitReleaseApi {
tagSha: string;
} & OwnerRepo,
) => Promise<{
date: string;
username: string;
userEmail: string;
objectSha: string;
tag: {
date: string;
username: string;
userEmail: string;
objectSha: string;
};
}>;
}
@@ -38,7 +38,10 @@ export const getTagDates = async ({
endTag,
}: GetTagDates) => {
if (startTag.tagType === 'tag' && endTag.tagType === 'tag') {
const [{ date: startDate }, { date: endDate }] = await Promise.all([
const [
{ tag: startTagResponse },
{ tag: endTagResponse },
] = await Promise.all([
pluginApiClient.getSingleTag({
owner: project.owner,
repo: project.repo,
@@ -52,8 +55,8 @@ export const getTagDates = async ({
]);
return {
startDate,
endDate,
startDate: startTagResponse.date,
endDate: endTagResponse.date,
};
}
@@ -123,7 +126,7 @@ async function getCommitFromTag({
project: GetTagDates['project'];
tag: GetTagDates['startTag'] | GetTagDates['endTag'];
}) {
const singleTag = await pluginApiClient.getSingleTag({
const { tag: tagResponse } = await pluginApiClient.getSingleTag({
owner: project.owner,
repo: project.repo,
tagSha: tag.tagSha,
@@ -131,7 +134,7 @@ async function getCommitFromTag({
const { commit: startCommit } = await pluginApiClient.getCommit({
owner: project.owner,
repo: project.repo,
ref: singleTag.objectSha,
ref: tagResponse.objectSha,
});
return {
@@ -316,9 +316,11 @@ export const mockApiClient: GitReleaseApi = {
})),
getSingleTag: jest.fn(async () => ({
date: '2021-04-29T12:48:30.120Z',
username: 'mock_user_single_tag_name',
userEmail: 'mock_user_single_tag_email',
objectSha: 'mock_single_tag_object_sha',
tag: {
date: '2021-04-29T12:48:30.120Z',
username: 'mock_user_single_tag_name',
userEmail: 'mock_user_single_tag_email',
objectSha: 'mock_single_tag_object_sha',
},
})),
};