Skip to content

Commit fa5a445

Browse files
authored
Merge pull request #45 from KamilAdd-Byte/develop
Develop
2 parents 56fdbe5 + 5cb6d14 commit fa5a445

7 files changed

+53
-37
lines changed

src/main/java/pl/commit/craft/quick/CommitQuickController.java

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public String generateCommit(
2929
) CommitQuickRequest commitQuickRequest) {
3030
return commitQuickService.generateQuickCommit(
3131
commitQuickRequest.topicScope(),
32+
commitQuickRequest.message(),
3233
commitQuickRequest.isGitCommand()
3334
);
3435
}

src/main/java/pl/commit/craft/quick/CommitQuickRequest.java

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
record CommitQuickRequest(
44
String topicScope,
5+
String message,
56
boolean isGitCommand
67
) {
78
}

src/main/java/pl/commit/craft/quick/CommitQuickService.java

+17-9
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,25 @@ class CommitQuickService {
77
private static final String AUDIT_COMMIT = "audit: Audit fix";
88
private static final String PR_FIX_COMMIT = "fix: Pull request comments improved";
99
private static final String TEST_FIX_COMMIT = "test: Fixed tests";
10+
private static final String WIP_COMMIT = "wip: Work in progress";
1011

11-
public String generateQuickCommit(String topicScope, boolean isGitCommand) {
12-
String commitMessage = switch (topicScope) {
13-
case "audit" -> AUDIT_COMMIT;
14-
case "fix" -> PR_FIX_COMMIT;
15-
case "test" -> TEST_FIX_COMMIT;
16-
default -> "Unknown commit type";
17-
};
12+
public String generateQuickCommit(String topicScope, String message, boolean isGitCommand) {
13+
String commitMessage;
14+
15+
if (message == null || message.isEmpty()) {
16+
commitMessage = switch (topicScope) {
17+
case "audit" -> AUDIT_COMMIT;
18+
case "fix" -> PR_FIX_COMMIT;
19+
case "test" -> TEST_FIX_COMMIT;
20+
case "wip" -> WIP_COMMIT;
21+
default -> "unknown: Unknown commit type";
22+
};
23+
} else {
24+
commitMessage = topicScope + ": " + message;
25+
}
1826

1927
return isGitCommand
20-
? String.format("git commit --no-verify -m \"%s\"", commitMessage).trim()
21-
: commitMessage;
28+
? String.format("git commit --no-verify -m \"%s\"", commitMessage).trim().toLowerCase()
29+
: commitMessage.toLowerCase();
2230
}
2331
}

src/main/java/pl/commit/craft/service/CommitTranslateService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,13 @@ public String generateFlowCommit(String major, String type, String component, St
4545
majorNumber != null ? majorNumber.issueNumber() : "",
4646
type,
4747
component,
48-
changeDescription,
48+
changeDescription.toLowerCase(),
4949
detailsFlow
5050
).trim();
5151
}
5252

5353
private String getChangeDescriptionTranslated(String changeDescription, String language) {
54-
return translateCommitCraft.translate(changeDescription, CommitModelPattern.getTargetLanguage(language));
54+
return translateCommitCraft.translate(changeDescription, CommitModelPattern.getTargetLanguage(language)).toLowerCase();
5555
}
5656

5757
private boolean isValidType(String type) {

src/test/java/pl/commit/craft/quick/CommitQuickControllerTest.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -34,35 +34,35 @@ void testGenerateCommitSuccess() throws Exception {
3434
String topicScope = "fix";
3535
boolean isGitCommand = true;
3636

37-
CommitQuickRequest commitQuickRequest = new CommitQuickRequest(topicScope, isGitCommand);
37+
CommitQuickRequest commitQuickRequest = new CommitQuickRequest(topicScope, null, isGitCommand);
3838
String expectedCommitMessage = "git commit -m \"fix: fixed a bug\"";
3939

40-
when(commitQuickService.generateQuickCommit(topicScope, isGitCommand)).thenReturn(expectedCommitMessage);
40+
when(commitQuickService.generateQuickCommit(topicScope, null, isGitCommand)).thenReturn(expectedCommitMessage);
4141

4242
mockMvc.perform(post("/api/v1/commit-quick/craft")
4343
.contentType(MediaType.APPLICATION_JSON)
4444
.content(objectMapper.writeValueAsString(commitQuickRequest)))
4545
.andExpect(status().isOk())
4646
.andExpect(content().string(expectedCommitMessage));
4747

48-
verify(commitQuickService, times(1)).generateQuickCommit(topicScope, isGitCommand);
48+
verify(commitQuickService, times(1)).generateQuickCommit(topicScope, null, isGitCommand);
4949
}
5050

5151
@Test
5252
void testGenerateCommitFailure() throws Exception {
5353
String topicScope = "invalidTopic";
5454
boolean isGitCommand = false;
5555

56-
CommitQuickRequest commitQuickRequest = new CommitQuickRequest(topicScope, isGitCommand);
56+
CommitQuickRequest commitQuickRequest = new CommitQuickRequest(topicScope, null, isGitCommand);
5757

58-
when(commitQuickService.generateQuickCommit(topicScope, isGitCommand)).thenReturn("Invalid commit");
58+
when(commitQuickService.generateQuickCommit(topicScope, null, isGitCommand)).thenReturn("Invalid commit");
5959

6060
mockMvc.perform(post("/api/v1/commit-quick/craft")
6161
.contentType(MediaType.APPLICATION_JSON)
6262
.content(objectMapper.writeValueAsString(commitQuickRequest)))
6363
.andExpect(status().isOk())
6464
.andExpect(content().string("Invalid commit"));
6565

66-
verify(commitQuickService, times(1)).generateQuickCommit(topicScope, isGitCommand);
66+
verify(commitQuickService, times(1)).generateQuickCommit(topicScope, null, isGitCommand);
6767
}
6868
}

src/test/java/pl/commit/craft/quick/CommitQuickServiceTest.java

+22-16
Original file line numberDiff line numberDiff line change
@@ -10,49 +10,55 @@ class CommitQuickServiceTest {
1010

1111
@Test
1212
void testGenerateQuickCommit_Audit_NoGitCommand() {
13-
String result = commitQuickService.generateQuickCommit("audit", false);
14-
assertEquals("audit: Audit fix", result);
13+
String result = commitQuickService.generateQuickCommit("audit", null, false);
14+
assertEquals("audit: audit fix", result);
1515
}
1616

1717
@Test
1818
void testGenerateQuickCommit_Fix_NoGitCommand() {
19-
String result = commitQuickService.generateQuickCommit("fix", false);
20-
assertEquals("fix: Pull request comments improved", result);
19+
String result = commitQuickService.generateQuickCommit("fix", null,false);
20+
assertEquals("fix: pull request comments improved", result);
2121
}
2222

2323
@Test
2424
void testGenerateQuickCommit_Test_NoGitCommand() {
25-
String result = commitQuickService.generateQuickCommit("test", false);
26-
assertEquals("test: Fixed tests", result);
25+
String result = commitQuickService.generateQuickCommit("test", null,false);
26+
assertEquals("test: fixed tests", result);
2727
}
2828

2929
@Test
3030
void testGenerateQuickCommit_UnknownTopic_NoGitCommand() {
31-
String result = commitQuickService.generateQuickCommit("unknown", false);
32-
assertEquals("Unknown commit type", result);
31+
String result = commitQuickService.generateQuickCommit("unknown", "", false);
32+
assertEquals("unknown: unknown commit type", result);
3333
}
3434

3535
@Test
3636
void testGenerateQuickCommit_Audit_WithGitCommand() {
37-
String result = commitQuickService.generateQuickCommit("audit", true);
38-
assertEquals("git commit --no-verify -m \"audit: Audit fix\"", result);
37+
String result = commitQuickService.generateQuickCommit("audit", "", true);
38+
assertEquals("git commit --no-verify -m \"audit: audit fix\"", result);
3939
}
4040

4141
@Test
4242
void testGenerateQuickCommit_Fix_WithGitCommand() {
43-
String result = commitQuickService.generateQuickCommit("fix", true);
44-
assertEquals("git commit --no-verify -m \"fix: Pull request comments improved\"", result);
43+
String result = commitQuickService.generateQuickCommit("fix", "", true);
44+
assertEquals("git commit --no-verify -m \"fix: pull request comments improved\"", result);
4545
}
4646

4747
@Test
4848
void testGenerateQuickCommit_Test_WithGitCommand() {
49-
String result = commitQuickService.generateQuickCommit("test", true);
50-
assertEquals("git commit --no-verify -m \"test: Fixed tests\"", result);
49+
String result = commitQuickService.generateQuickCommit("test", "", true);
50+
assertEquals("git commit --no-verify -m \"test: fixed tests\"", result);
5151
}
5252

5353
@Test
5454
void testGenerateQuickCommit_UnknownTopic_WithGitCommand() {
55-
String result = commitQuickService.generateQuickCommit("unknown", true);
56-
assertEquals("git commit --no-verify -m \"Unknown commit type\"", result);
55+
String result = commitQuickService.generateQuickCommit("unknown", null, true);
56+
assertEquals("git commit --no-verify -m \"unknown: unknown commit type\"", result);
57+
}
58+
59+
@Test
60+
void testGenerateQuickCommit_WIP_WithGitCommandAndMessage() {
61+
String result = commitQuickService.generateQuickCommit("audit", "check approach", true);
62+
assertEquals("git commit --no-verify -m \"audit: check approach\"", result);
5763
}
5864
}

src/test/java/pl/commit/craft/service/CommitTranslateServiceTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ void testGenerateTranslateCommitValidType() {
4444
assertNotNull(commitMessage);
4545
assertTrue(commitMessage.contains("feat"));
4646
assertTrue(commitMessage.contains("UI"));
47-
assertTrue(commitMessage.contains("Add new button"));
48-
assertTrue(commitMessage.contains("Added a new button to the main page."));
47+
assertTrue(commitMessage.contains("add new button"));
48+
assertTrue(commitMessage.contains("added a new button to the main page."));
4949
}
5050

5151
@Test
@@ -98,7 +98,7 @@ void testGenerateTranslateCommitWithTaskNumberAndWholeGitCommandIsFalse() {
9898
// then
9999
assertNotNull(commitMessage);
100100
assertTrue(commitMessage.contains("TEET-1234"));
101-
assertThat(commitMessage).isEqualTo("TEET-1234 feat(UI): Add new feature");
101+
assertThat(commitMessage).isEqualTo("TEET-1234 feat(UI): add new feature");
102102
}
103103

104104
@Test
@@ -116,6 +116,6 @@ void testGenerateFlowCommitWithTaskNumber() {
116116
// then
117117
assertNotNull(commitMessage);
118118
assertTrue(commitMessage.contains("TEET-1234"));
119-
assertThat(commitMessage).isEqualTo("git commit -m \"TEET-1234 fix(Report): Add new feature\"");
119+
assertThat(commitMessage).isEqualTo("git commit -m \"TEET-1234 fix(Report): add new feature\"");
120120
}
121121
}

0 commit comments

Comments
 (0)