diff --git a/src/main/java/io/spring/issuebot/feedback/StandardFeedbackListener.java b/src/main/java/io/spring/issuebot/feedback/StandardFeedbackListener.java index 6f09d6a..05427cb 100644 --- a/src/main/java/io/spring/issuebot/feedback/StandardFeedbackListener.java +++ b/src/main/java/io/spring/issuebot/feedback/StandardFeedbackListener.java @@ -56,6 +56,9 @@ final class StandardFeedbackListener implements FeedbackListener { public void feedbackProvided(Issue issue) { this.gitHub.addLabel(issue, this.providedLabel); this.gitHub.removeLabel(issue, this.requiredLabel); + if (hasReminderLabel(issue)) { + this.gitHub.removeLabel(issue, this.reminderLabel); + } } @Override @@ -64,7 +67,7 @@ final class StandardFeedbackListener implements FeedbackListener { if (requestTime.plusDays(14).isBefore(now)) { close(issue); } - else if (requestTime.plusDays(7).isBefore(now) && reminderRequired(issue)) { + else if (requestTime.plusDays(7).isBefore(now) && !hasReminderLabel(issue)) { remind(issue); } } @@ -76,15 +79,15 @@ final class StandardFeedbackListener implements FeedbackListener { this.gitHub.removeLabel(issue, this.reminderLabel); } - private boolean reminderRequired(Issue issue) { + private boolean hasReminderLabel(Issue issue) { if (issue.getLabels() != null) { for (Label label : issue.getLabels()) { if (this.reminderLabel.equals(label.getName())) { - return false; + return true; } } } - return true; + return false; } private void remind(Issue issue) { diff --git a/src/test/java/io/spring/issuebot/feedback/StandardFeedbackListenerTests.java b/src/test/java/io/spring/issuebot/feedback/StandardFeedbackListenerTests.java index d2251ce..1d85d0f 100644 --- a/src/test/java/io/spring/issuebot/feedback/StandardFeedbackListenerTests.java +++ b/src/test/java/io/spring/issuebot/feedback/StandardFeedbackListenerTests.java @@ -17,8 +17,7 @@ package io.spring.issuebot.feedback; import java.time.OffsetDateTime; -import java.util.Arrays; -import java.util.Collections; +import java.util.ArrayList; import org.junit.Test; @@ -43,14 +42,24 @@ public class StandardFeedbackListenerTests { "feedback-provided", "feedback-required", "feedback-reminder", "Please provide requested feedback", "Closing due to lack of feedback"); - private final Issue issue = new Issue(null, null, null, null, null, - Collections.