Skip to content

Commit

Permalink
Merge pull request #756 from pithesun/feature/723
Browse files Browse the repository at this point in the history
 [Refactor] SummaryUtil 리팩토링(#723)
  • Loading branch information
ytaek authored Nov 20, 2024
2 parents dc12d06 + 9dc298c commit 77434a7
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,81 @@ const clusterNodeMockData: ClusterNode[] = [
],
nodeTypeName: "CLUSTER",
},
{
nodeTypeName: "CLUSTER",
commitNodeList: [
{
nodeTypeName: "COMMIT",
commit: {
id: "dbb3beec12a66788b126101d5b2e6c0b4bb86379",
parentIds: ["0dca5a0e77c9c3cf99f55544721078141a551670", "b3caa9b6c71f72bec6fe44cad13e92555de3f54c"],
author: {
id: "no-id",
names: ["jin-Pro"],
emails: ["[email protected]"],
},
committer: {
id: "no-id",
names: ["GitHub"],
emails: ["[email protected]"],
},
authorDate: "Tue Sep 13 2022 15:50:57 GMT+0900 (Korean Standard Time)",
commitDate: "Tue Sep 13 2022 15:50:57 GMT+0900 (Korean Standard Time)",
diffStatistics: {
changedFileCount: 1,
insertions: 66,
deletions: 0,
files: {
"packages/view/CONTRIBUTING.md": {
insertions: 66,
deletions: 0,
},
},
},
message: "Merge pull request #158 from jin-Pro/main/n/nadd View CONTRIBUTING.md Template",
tags: [],
releaseTags: [],
},
clusterId: 89,
seq: 1,
},
{
nodeTypeName: "COMMIT",
commit: {
id: "b3caa9b6c71f72bec6fe44cad13e92555de3f54c",
parentIds: ["2719afd7716153c9318dad48482c8245bea82eb5"],
author: {
id: "no-id",
names: ["jin-Pro"],
emails: ["[email protected]"],
},
committer: {
id: "no-id",
names: ["jin-Pro"],
emails: ["[email protected]"],
},
authorDate: "Tue Sep 13 2022 14:50:26 GMT+0900 (Korean Standard Time)",
commitDate: "Tue Sep 13 2022 14:50:26 GMT+0900 (Korean Standard Time)",
diffStatistics: {
changedFileCount: 1,
insertions: 66,
deletions: 0,
files: {
"packages/view/CONTRIBUTING.md": {
insertions: 66,
deletions: 0,
},
},
},
message: "docs(view): add View CONTRIBUTING.md Template",
tags: [],
releaseTags: [],
},
clusterId: 89,
seq: 2,
},
],
},
];

test("getClusterById test", () => {
Expand All @@ -81,14 +156,22 @@ test("getClusterIds test", () => {
expect(result).not.toBeUndefined();
expect(result[0]).toBe(0);
expect(result[1]).toBe(1);
expect(result).toHaveLength(2);
expect(result[2]).toBe(89);

expect(result).toHaveLength(3);
});

test("getInitData test", () => {
describe("getInitData test", () => {
const result = getInitData(clusterNodeMockData);

expect(result).not.toBeUndefined();
expect(result[0].clusterId).toBe(0);
expect(result[0].summary.authorNames[0][0]).toBe("ytaek");
expect(result[0].summary.content.message).toBe("Initial commit");
test("getInitData test", () => {
expect(result).not.toBeUndefined();
expect(result[0].clusterId).toBe(0);
expect(result[0].summary.authorNames[0][0]).toBe("ytaek");
expect(result[0].summary.content.message).toBe("Initial commit");
});

test("the commit author names in the cluster are not duplicated.", () => {
expect(result[2].summary.authorNames.length).toBe(1);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -66,55 +66,37 @@ export function getInitData(data: GlobalProps["data"]): Cluster[] {
const clusters: Cluster[] = [];

data.map((clusterNode) => {
const { message } = clusterNode.commitNodeList[0].commit;
const resultMsg = message.split("/n/n")[0];
const cluster: Cluster = {
clusterId: clusterNode.commitNodeList[0].clusterId,
summary: {
authorNames: [],
content: {
message: resultMsg,
count: clusterNode.commitNodeList.length - 1,
},
},
latestReleaseTag: "",
};

const { commit: clusterFirstCommit, clusterId } = clusterNode.commitNodeList[0];
const { message } = clusterFirstCommit;
const clusterTags: string[] = [];
const authorSet: Set<string> = new Set();

clusterNode.commitNodeList.map((commitNode: CommitNode) => {
clusterNode.commitNodeList.forEach((commitNode: CommitNode) => {
// set names
const authorSet: Set<string> = new Set();
commitNode.commit.author.names.map((name) => {
commitNode.commit.author.names.forEach((name) => {
authorSet.add(name.trim());
return name.trim();
});

cluster.summary.authorNames.push(Array.from(authorSet));

// get releaseTags in cluster commitNodeList
commitNode.commit.releaseTags?.map((tag) => {
commitNode.commit.releaseTags?.forEach((tag) => {
clusterTags.push(tag);
return clusterTags;
});

return commitNode;
});

// set latset release tag
const latestReleaseTag = getCommitLatestTag(clusterTags);
cluster.latestReleaseTag = latestReleaseTag;

// remove name overlap
const authorsSet = cluster.summary.authorNames.reduce((set, authorArray) => {
authorArray.forEach((author) => {
set.add(author);
});
return set;
}, new Set());

cluster.summary.authorNames = [];
cluster.summary.authorNames.push(Array.from(authorsSet) as string[]);
const cluster: Cluster = {
clusterId: clusterId,
summary: {
authorNames: [Array.from(authorSet)],
content: {
message: message.split("/n/n")[0],
count: clusterNode.commitNodeList.length - 1,
},
},
latestReleaseTag: latestReleaseTag,
};

clusters.push(cluster);
return cluster;
Expand Down

0 comments on commit 77434a7

Please sign in to comment.